Node.js ( Formlar ) için Form kitaplığını kullanıyorum , bu da arka uçta benim için şu şekilde bir form oluşturacak:
var signup_form = forms.create({
username: fields.string({required: true})
, password: fields.password({required: true})
, confirm: fields.password({
required: true
, validators: [validators.matchField('password')]
})
, email: fields.email()
});
var signup_form_as_html = signup_form.toHTML();
Son satır var signup_var signup_form_as_html = signup_form.toHTML();
aşağıdaki gibi görünen bir HTML bloğu oluşturur:
<div class="field required"><label for="id_username">Username</label><input type="text" name="username" id="id_username" /></div><div class="field required"><label for="id_password">Password</label><input type="password" name="password" id="id_password" /></div><div class="field required"><label for="id_confirm">Confirm</label><input type="password" name="confirm" id="id_confirm" /></div><div class="field"><label for="id_email">Email</label><input type="text" name="email" id="id_email" /></div>
Temelde sadece uzun bir HTML dizesi. Daha sonra aşağıdaki kodu kullanarak EJS ve Express kullanarak oluşturmaya çalışıyorum:
res.render('signup.ejs', {
session: loginStatus(req)
, form: signup_form_as_html
});
Ancak HTML'yi oluştururken, gerçek HTML (ve dolayısıyla istediğim gibi bir form) yerine, yukarıda yayınladığım dizedir. EJS kullanarak bu dizeyi gerçek HTML olarak oluşturmanın bir yolu var mı? Yoksa Jade gibi bir şey kullanmak zorunda mıyım?