flask-wtforms 字段需要
flask-wtforms field required
如何在此烧瓶代码上添加所需的标签:
{{ form.youtube_href(type='url', class='form-control') }}
实际输出为:
<input class="form-control" id="youtube_href" name="youtube_href" value="" type="url">
需要这个输出 bat 给出错误:
<input class="form-control" id="youtube_href" name="youtube_href" value="" type="url" required>
我试过这个蝙蝠报错:
{{ form.youtube_href(type='url', class='form-control', 'required') }}
从 WTForms 2.2(2018 年 6 月 2 日)开始,如果字段具有设置 required
标志的验证器,例如 DataRequired
和 InputRequired
。如果出于某种原因你不想渲染该属性,你可以传递 required=False
。或者如果你想禁用所有浏览器验证,你可以在 form
标签中设置 novalidate
属性。一般来说,您应该更愿意启用浏览器验证,因为它会阻止 request/response 进行简单验证,这是可取的。
您在关键字参数之后传递位置参数,这是一个语法错误。相反,传递 required=True
,这将在标签上设置一个裸属性。检查字段上的标志以查看是否设置了 Required
验证器:field.flags.required
是布尔值。创建一个 URLField
而不是手动传递类型。
from flask_wtf import Form
from wtforms.fields.html5 import URLField
from wtforms.validators import InputRequired
class MyForm(Form):
youtube_href = URLField(validators=[InputRequired()])
form = MyForm()
print(form.youtube_href(required=form.youtube_href.flags.required))
# <input id="youtube_href" name="youtube_href" required type="url" value="">
对于那些只想将 required
属性添加到他们的 html 输入的人,可以按照上面 Raja Simon 提到的评论来完成。只需在 模板 中调用您的字段名称 required='required'
示例:
<form>
...
{{myform.my_name_field(required='required')}}
{{myform.my_email_field(required='required')}}
...
</form>
以上代码将产生如下字段:
<input id="my_name_field" name="my_name_field" required="required" type="text" value="">
如何在此烧瓶代码上添加所需的标签:
{{ form.youtube_href(type='url', class='form-control') }}
实际输出为:
<input class="form-control" id="youtube_href" name="youtube_href" value="" type="url">
需要这个输出 bat 给出错误:
<input class="form-control" id="youtube_href" name="youtube_href" value="" type="url" required>
我试过这个蝙蝠报错:
{{ form.youtube_href(type='url', class='form-control', 'required') }}
从 WTForms 2.2(2018 年 6 月 2 日)开始,如果字段具有设置 required
标志的验证器,例如 DataRequired
和 InputRequired
。如果出于某种原因你不想渲染该属性,你可以传递 required=False
。或者如果你想禁用所有浏览器验证,你可以在 form
标签中设置 novalidate
属性。一般来说,您应该更愿意启用浏览器验证,因为它会阻止 request/response 进行简单验证,这是可取的。
您在关键字参数之后传递位置参数,这是一个语法错误。相反,传递 required=True
,这将在标签上设置一个裸属性。检查字段上的标志以查看是否设置了 Required
验证器:field.flags.required
是布尔值。创建一个 URLField
而不是手动传递类型。
from flask_wtf import Form
from wtforms.fields.html5 import URLField
from wtforms.validators import InputRequired
class MyForm(Form):
youtube_href = URLField(validators=[InputRequired()])
form = MyForm()
print(form.youtube_href(required=form.youtube_href.flags.required))
# <input id="youtube_href" name="youtube_href" required type="url" value="">
对于那些只想将 required
属性添加到他们的 html 输入的人,可以按照上面 Raja Simon 提到的评论来完成。只需在 模板 中调用您的字段名称 required='required'
示例:
<form>
...
{{myform.my_name_field(required='required')}}
{{myform.my_email_field(required='required')}}
...
</form>
以上代码将产生如下字段:
<input id="my_name_field" name="my_name_field" required="required" type="text" value="">