2017-02-01 8 views
2

Flask & WTFormsを使用してフォームを作成していますが、ドロップダウンリストには、ドロップダウンごとに「選択してください」オプションがあります。値はまだ選択されていません。wtformsドロップダウン値の検証

これを達成するには正規表現検証またはカスタム検証を行う必要がありますか?カスタム検証が必要な場合は、どのように構築するのですか?

CAR_MAKES = [('-1', "Please select a vehicle make..."), (1, 'Honda'), 
(2, 'Ford'), (3, 'BMW')] 
dd_car_makes = SelectField('dd_car_makes', choices=CAR_MAKES, 
validators=[DataRequired()]) 

答えて

0

ここでカスタムバリデーターを使用できます。 Custom Validators in the WTForms Documentationをご覧ください。

def your_validator(form, field): 
    if field.data == -1: 
     raise ValidationError('Please select a vehicle make...') 

dd_car_makes = SelectField('dd_car_makes', choices=CAR_MAKES, 
          validators=[DataRequired(), your_validator]) 
+0

、ありがとうございました。 – FlipflopPancake

0

は、あなただけの標準バリデータをあなたの「を選択してください」オプションに非truthy値を与え、使用する必要があります。これは私のために働いた

SelectField('Car', coerce=int, 
      choices=[(0, 'Please Select...'), (1, 'Honda')], 
      validators=[DataRequired()]) 
+0

ありがとうBartlett。私はそれがこのように動作することを期待していなかったが、それはした。 – FlipflopPancake

関連する問題