WTForms Flask(wtf_flask)验证程序如何为RadioField包括“必需”属性

时间:2019-03-23 12:39:44

标签: python flask flask-wtforms wtforms

我基本上要寻找的是WTForms的InputRequired()的RadioField等效验证器。我的意思是,当您尝试提交表单而不在具有InputRequired()验证器的StringField字段中输入任何文本时,用户会在文本字段上方看到提示,提示"Please fill out this field"。我希望用户必须选择malefemale

只需在HTML表单中包含required属性,就可以轻松地在HTML表单中完成此操作。但我似乎无法理解RadioField的WTForms中的等效内容。 InputRequired()DataRequired()都仅用于输入文本字段,似乎无法与任何其他类型的字段一起使用。

如果我有以下非常简单的WTForms类用于注册表单,则InputRequired()在这种情况下效果很好,因为它会提示用户"Please fill out this field",如果他们忘记将{{1}放在其中}或name。除非他们在这些字段中输入内容,否则表单不会提交。

surname

但是,如果我具有下面的表格,其中包含一个RadioField,什么等效的验证器可以迫使用户选择class Signup(FlaskForm): name = StringField('First Name', validators=[InputRequired()]) surname = StringField('Last Name', validators=[InputRequired()]) submit = SubmitField('Signup') Male,如果他们没有选择,我要给出提示Female? (我正在使用BootStrap)我似乎找不到任何有关它的信息。是否存在?第二个答案中的This问题基本上是我正在寻找的"please fill out this field",但是自2018年6月以来,这个问题已经过时了。我尝试使用Required="Required"的每种方法几乎都做了或InputRequired()DataRequired()一起使用,但没有成功。

RadioField

1 个答案:

答案 0 :(得分:0)

IMO,您目前只能使用这种方式来实现:

{% for subfield in form.age %}
    <tr>
        <td>{{ subfield(required="required") }}</td>
        <td>{{ subfield.label }}</td>
    </tr>
{% endfor %}