如何在这个flask代码中添加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>我尝试了这个bat给出错误:
{{ form.youtube_href(type='url', class='form-control', 'required') }}发布于 2015-10-24 01:25:40
从WTForms 2.2 (2018年6月2日)起,如果字段具有设置required标志的验证器,例如DataRequired和InputRequired,则它们现在呈现required属性。如果由于某种原因你不想渲染这个属性,你可以传递required=False。或者,如果要禁用所有浏览器验证,可以在form标记中设置novalidate属性。通常,您应该更喜欢启用浏览器验证,因为这会阻止对简单验证的请求/响应,这是可取的。
您正在关键字参数之后传递位置参数,这是一个语法错误。取而代之的是传递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="">发布于 2018-02-12 23:53:02
对于那些只想将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="">https://stackoverflow.com/questions/33307888
复制相似问题