我基本上在寻找的是WTForms的InputRequired()的RadioField等效验证器。我的意思是,当您尝试提交表单而不在具有InputRequired()验证器的StringField字段中输入任何文本时,用户会在文本字段上方看到提示,提示是"Please fill out this field"。我希望用户必须选择male或female。只要在HTML表单中包含required属性,就可以轻松地在HTML表单中完成此操作。但是我似乎无法理解RadioField的WTForms中的等效内容。 InputRequired()和DataRequired()都仅用于输入文本字段,似乎不能与任何其他类型的字段一起使用。如果我有以下非常简单的WTForms类用于注册表单,则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)似乎找不到任何信息。是否存在?第二个答案中的This问题基本上是我正在寻找的Required="Required",但是自2018年6月以来,这个问题已经过时了。我尝试了将InputRequired()或DataRequired()与,但没有成功。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 %}关于python - WTForms Flask(wtf_flask)验证程序如何为RadioField包括“必需”属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55313809/
10-11 13:27