在 Flask wtforms 中指定验证的详细格式
Specify detailed format of validation in Flask wtforms
我创建了一个表单,目前正在验证 DataRequired 和 Length。
class MainSearch(Form):
discnumber = StringField('discnumber', validators=[DataRequired(), Length(min=7, max=7)])
我想更进一步,验证条目以使其与特定格式匹配。具体来说,如果用户输入的光盘编号不是以字母 DA 后跟 5 位数字开头,我希望它会抛出错误。
例如,这些是可接受格式的示例:
DA26727
DA00056
DA78786
虽然这些是不可接受的:
DA890899(即它有 6 位而不是 5 位)
D989089(不包含 'DA' 前缀)
我没有在网上找到任何可比较的例子。这可能与 wtforms 吗?如果是,哪种类型的验证器最适合?
谢谢
使用 Regexp validator:
discnumber = StringField('discnumber', validators=[DataRequired(), Regexp('^DA[0-9]{5}$')])
我创建了一个表单,目前正在验证 DataRequired 和 Length。
class MainSearch(Form):
discnumber = StringField('discnumber', validators=[DataRequired(), Length(min=7, max=7)])
我想更进一步,验证条目以使其与特定格式匹配。具体来说,如果用户输入的光盘编号不是以字母 DA 后跟 5 位数字开头,我希望它会抛出错误。
例如,这些是可接受格式的示例:
DA26727
DA00056
DA78786
虽然这些是不可接受的:
DA890899(即它有 6 位而不是 5 位)
D989089(不包含 'DA' 前缀)
我没有在网上找到任何可比较的例子。这可能与 wtforms 吗?如果是,哪种类型的验证器最适合?
谢谢
使用 Regexp validator:
discnumber = StringField('discnumber', validators=[DataRequired(), Regexp('^DA[0-9]{5}$')])