首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >flask-wtforms字段为必填项

flask-wtforms字段为必填项
EN

Stack Overflow用户
提问于 2015-10-24 01:07:06
回答 2查看 12.9K关注 0票数 4

如何在这个flask代码中添加required标签:

代码语言:javascript
复制
{{ form.youtube_href(type='url', class='form-control') }}

实际输出为:

代码语言:javascript
复制
<input class="form-control" id="youtube_href" name="youtube_href" value="" type="url">

需要这个输出bat给出错误:

代码语言:javascript
复制
<input class="form-control" id="youtube_href" name="youtube_href" value="" type="url" required>

我尝试了这个bat给出错误:

代码语言:javascript
复制
{{ form.youtube_href(type='url', class='form-control', 'required') }}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-24 01:25:40

从WTForms 2.2 (2018年6月2日)起,如果字段具有设置required标志的验证器,例如DataRequiredInputRequired,则它们现在呈现required属性。如果由于某种原因你不想渲染这个属性,你可以传递required=False。或者,如果要禁用所有浏览器验证,可以在form标记中设置novalidate属性。通常,您应该更喜欢启用浏览器验证,因为这会阻止对简单验证的请求/响应,这是可取的。

您正在关键字参数之后传递位置参数,这是一个语法错误。取而代之的是传递required=True,它将在标记上设置一个裸属性。检查字段上的标志以查看是否设置了Required验证器:field.flags.required是一个布尔值。创建一个URLField,而不是手动传递类型。

代码语言:javascript
复制
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="">
票数 9
EN

Stack Overflow用户

发布于 2018-02-12 23:53:02

对于那些只想将required属性添加到他们的html输入的人来说,可以通过遵循Raja Simon上面提到的注释来实现。使用required='required'示例,只需在模板中调用您的字段名称:

代码语言:javascript
复制
<form>
  ...
  {{myform.my_name_field(required='required')}}
  {{myform.my_email_field(required='required')}}
  ...
</form>

上面的代码将产生类似如下的字段:

代码语言:javascript
复制
<input id="my_name_field" name="my_name_field" required="required" type="text" value="">
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33307888

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档