2010-07-27 4 views
8

Est-il possible d'avoir certains des nouveaux attributs attribut seulement utilisés dans HTML5, à l'intérieur de WTForms? Par exemple, supposons que vous vouliez créer un TextField avec des attributs placeholder = "foo", obligatoires et autofocus. Comment cela se ferait-il dans WTForms?WTForms ... html, autofocus?

En HTML, il ressemblerait à ceci: <input maxlength="256" name="q" value="" placeholder="foo" autofocus required>

Notez que placeholder="foo" se fait facilement dans WTForms. autofocus et required, parce qu'ils n'ont aucune valeur, sont .. bien, autant que j'ai vu, pas pris en charge dans WTForms.

Est-ce que WTForms peut supporter cela?

Répondre

22

Dans WTForms 1.0, publié hier, la syntaxe compacte HTML5 est maintenant la valeur par défaut. Maintenant, vous pouvez le faire (à Jinja):

{{ form.field(autofocus=true, required=true, placeholder="foo") }} 

Notez que dans Jinja, le littéral est true au lieu de True mais si vous deviez essayer dans la console python, vous devez utiliser le python littéral True pour cette travailler.

Dans WTForms 0.6.x, qui a utilisé XHTML comme la sortie par défaut, vous pouvez le faire par exemple

{{ form.field(autofocus="autofocus", required="required", placeholder="foo" }} 

Ceci est la méthode recommandée pour représenter les attributs booléens en XHTML, et cela se trouve être encore 100% valide HTML5 et complètement équivalent, bien que le code HTML généré est un peu plus bavard.

3

Je suis nouveau avec WTForms mais il me semble que la solution pourrait être améliorée au lieu d'utiliser:

{{ form.field(autofocus=true, required=true, placeholder="foo") }} 

utilisation:

{% if field.flags.required %} 
    {{ field(autofocus=true, required=field.flags.required, placeholder="foo") }} 
{% else %} 
    {{ field(autofocus=true, placeholder="foo") }} 
{% endif %} 

WTForms ne semble pas gérer correctement required=false pour 100 % HTML5 et définit dans le HTML un attr required="False" au lieu de supprimer l'attr. Cela pourrait-il être amélioré dans la prochaine version de WTForms?

+1

Une pièce de fixation du comportement attr = faux vient d'être fusionné dans 2.0dev: https://github.com/wtforms/wtforms/pull/17#issuecomment-28162938 – thpani

Questions connexes