2017-06-18 53 views
0

我已經創建了一個表單,我目前正在驗證DataRequired和Length。在Flask wtforms中指定驗證的詳細格式

class MainSearch(Form): 
     discnumber = StringField('discnumber', validators=[DataRequired(), Length(min=7, max=7)]) 

我想更進一步並驗證條目,以便它符合特定格式。具體而言,如果用戶輸入的光盤編號不是以字母DA開頭,後面跟着5位數字,我希望它會引發錯誤。

例如,這些將是可接受的格式的例子:

DA26727

DA00056

DA78786

雖然這些是不能接受的:

DA890899(即本有6數字而不是5)

D989089(這不包含'DA'前綴)

我還沒有在網上找到任何可比的例子。這可能與wtforms?如果哪種類型的驗證器最適合?

感謝

回答

1

使用Regexp validator

discnumber = StringField('discnumber', validators=[DataRequired(), Regexp('^DA[0-9]{5}$')])