在 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}$')])