class ContactForm(Form):
name = StringField('Name',
validators=[DataRequired(), Length(max=255)])
email = StringField('Email',
validators=[Optional(), Email(), Length(max=255)])
phone = StringField('Phone number',
validators=[Optional(), NumberRange(min=8, max=14)])
comment = TextAreaField(u'Comment',
validators=[DataRequired()])
无论如何都要指定一个验证器,以便email
or phone
是必须的?
您可以创建一个validate
表单上的方法并进行一些手动检查。像这样的事情可能会让你开始。
class MyForm(Form):
name = StringField('Name',
validators=[DataRequired(), Length(max=255)])
email = StringField('Email',
validators=[Optional(), Email(), Length(max=255)])
phone = StringField('Phone number',
validators=[Optional(), NumberRange(min=8, max=14)])
comment = TextAreaField(u'Comment',
validators=[DataRequired()])
def validate(self):
valid = True
if not Form.validate(self):
valid = False
if not self.email and not self.phone:
self.email.errors.append("Email or phone required")
valid = False
else:
return valid
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)