私は電子メール、住所、州、郵便番号と国を持つフラスコフォームを作成しています。電子メールだけが必須フィールドです。その他のものはありません。しかし、Flask WTFormsはユーザーがドロップダウンから州と国を選択するように強制しています。SelectFieldはドロップダウンから選択を選択します
州と国はどちらもドロップダウンオプションです。
class UserForm(FlaskForm):
email = EmailField('E-Mail', validators=[InputRequired()])
address1 = StringField('Address line 1', render_kw={"placeholder": "Address line 1"})
address2 = StringField('Address line 2', render_kw={"placeholder": "Address line 2"})
city = StringField('City', render_kw={"placeholder": "City"})
state = SelectField('State', [validators.Optional()], default=None, choices=statesList(), render_kw={"placeholder": "State"})
postal_code = StringField('Postal Code', render_kw={"placeholder": "Postal Code"})
country = SelectField('Country', default=None, choices=countriesList(), coerce=str, render_kw={"placeholder": "Country"})
@app.route('/create_user', methods=['GET', 'POST'])
def createUser():
form=UserForm()
if form.validate_on_submit():
return render_template('confirm_user.html', email=form.email.data,
address1=form.address1.data,
address2=form.address2.data,
city=form.city.data,
state=form.state.data,
postal_code=form.postal_code.data,
country=form.country.data)
私はさらに状態をオプションフィールドにしました。これはフィールドをドロップダウンする場合にのみ発生します。
私はすでにStackOverflowでいくつかの投稿を見てきましたが、これは答えていません。これらの投稿は、選択肢が削除されることを示唆しています。私は州と国のドロップダウンが見えるようにする必要がありますが、ユーザーは望んでいなければ選択をする必要はありません。この場合、私は空白の値をデータベースに返します。
どうすればいいですか?
選択フィールドには何かを選択する必要があるため、UIで非選択を表すオプションを追加します。例えば'[( 'Choose a State'、 'XX')、( 'Arizona'、 'AZ')'デフォルトでPick an Optionを選択します。 – Doobeh