Flask中的StringField验证

时间:2018-12-07 12:47:15

标签: python string validation flask-wtforms

我在下面的代码中努力验证StringField。 电子邮件验证和日期验证功能正常。但是,当我输入的字符串超出len范围的姓/名时,不会抛出任何错误。 所有导入都是正确的。

enter image description here您能帮我吗?

EmailForm(FlaskForm)类:

email = EmailField('Email', [validators.Email()])
postcode = StringField('Postcode')
surname = StringField('Surname', [validators.Length(3,45)])
firstname = StringField('First Name', [validators.Email(3,45)])
dateofbirth = DateField("Date Of Birth", default=date.today(), format='%d/%m/%Y')    
submit = SubmitField('GO')

1 个答案:

答案 0 :(得分:0)

根据wtforms文档,您需要在validators.Length上指定'min'和'max'值。

在您的情况下,它应该看起来像这样:

surname = StringField('Surname', [validators.Length(min=3, max=45)])
firstname = StringField('First Name', [validators.Length(min=3, max=45)])

您可以尝试一下,让我知道您是否仍然遇到问题吗?

编辑:我刚刚意识到您的firstnamevalidators.Email而不是validators.Length,所以我在上面编辑了我的代码。