WTForms Flask(wtf_flask) 验证器如何包含 RadioField 的 "required" 属性
WTForms Flask(wtf_flask) validators how to include "required" attribute for RadioField
我主要寻找的是 WTForms InputRequired()
的 RadioField 等效验证器。我的意思是,当您尝试提交表单而不在具有 InputRequired()
验证器的 StringField 字段中输入任何文本时,用户会在文本字段上方收到提示 "Please fill out this field"
。我希望用户必须选择 male
或 female
.
这在 HTML 表单中很容易完成,只需在 HTML 表单中包含 required
属性即可。但我似乎无法理解 RadioField 在 WTForms 中的等价物。 InputRequired()
和 DataRequired()
都仅适用于输入文本字段,似乎不适用于任何其他类型的字段。
如果我有下面非常简单的 WTForms class 注册表单,InputRequired()
在这种情况下效果很好,因为它会提示用户 "Please fill out this field"
如果他们忘记输入在他们的 name
或 surname
中。除非他们在这些字段中输入内容,否则不会提交表单。
class Signup(FlaskForm):
name = StringField('First Name', validators=[InputRequired()])
surname = StringField('Last Name', validators=[InputRequired()])
submit = SubmitField('Signup')
但是,如果我有以下具有 RadioField 的表单,强制用户选择 Male
或 Female
的等效验证器是什么,如果他们不选择我想提供的提示 "please fill out this field"
? (我正在使用 BootStrap)我似乎找不到任何关于它的信息。它存在吗? 第二个答案中的问题基本上有我要找的东西 Required="Required"
但自 2018 年 6 月以来已经过时了。我尝试了几乎所有尝试使用 InputRequired()
的方法或 DataRequired()
与 RadioField
但没有成功。
class StudentPersonalQs(FlaskForm):
gender = RadioField('Gender', choices = [('Male','Male'),('Female','Female')])
age = SelectField('Age', choices = [('12', '12'), ('13', '14'),('15', '15'), ('16', '16'),('17', '17'), ('18+', '18+')])
submit = SubmitField('Signup')
IMO,目前只能通过这种方式实现:
{% for subfield in form.age %}
<tr>
<td>{{ subfield(required="required") }}</td>
<td>{{ subfield.label }}</td>
</tr>
{% endfor %}
我主要寻找的是 WTForms InputRequired()
的 RadioField 等效验证器。我的意思是,当您尝试提交表单而不在具有 InputRequired()
验证器的 StringField 字段中输入任何文本时,用户会在文本字段上方收到提示 "Please fill out this field"
。我希望用户必须选择 male
或 female
.
这在 HTML 表单中很容易完成,只需在 HTML 表单中包含 required
属性即可。但我似乎无法理解 RadioField 在 WTForms 中的等价物。 InputRequired()
和 DataRequired()
都仅适用于输入文本字段,似乎不适用于任何其他类型的字段。
如果我有下面非常简单的 WTForms class 注册表单,InputRequired()
在这种情况下效果很好,因为它会提示用户 "Please fill out this field"
如果他们忘记输入在他们的 name
或 surname
中。除非他们在这些字段中输入内容,否则不会提交表单。
class Signup(FlaskForm):
name = StringField('First Name', validators=[InputRequired()])
surname = StringField('Last Name', validators=[InputRequired()])
submit = SubmitField('Signup')
但是,如果我有以下具有 RadioField 的表单,强制用户选择 Male
或 Female
的等效验证器是什么,如果他们不选择我想提供的提示 "please fill out this field"
? (我正在使用 BootStrap)我似乎找不到任何关于它的信息。它存在吗? Required="Required"
但自 2018 年 6 月以来已经过时了。我尝试了几乎所有尝试使用 InputRequired()
的方法或 DataRequired()
与 RadioField
但没有成功。
class StudentPersonalQs(FlaskForm):
gender = RadioField('Gender', choices = [('Male','Male'),('Female','Female')])
age = SelectField('Age', choices = [('12', '12'), ('13', '14'),('15', '15'), ('16', '16'),('17', '17'), ('18+', '18+')])
submit = SubmitField('Signup')
IMO,目前只能通过这种方式实现:
{% for subfield in form.age %}
<tr>
<td>{{ subfield(required="required") }}</td>
<td>{{ subfield.label }}</td>
</tr>
{% endfor %}