Flaskを使用したWTFormからのメール検証質問する

Flaskを使用したWTFormからのメール検証質問する

私はFlaskのチュートリアルに従っていますhttp://code.tutsplus.com/tutorials/intro-to-flask-adding-a-contact-page--net-28982現在、検証手順で行き詰まっています:

旧バージョンには次の内容が含まれていました。

from flask.ext.wtf import Form, TextField, TextAreaField, SubmitField, validators, ValidationError

class ContactForm(Form):
name = TextField("Name",  [validators.Required("Please enter your name.")])
email = TextField("Email",  [validators.Required("Please enter your email address."), validators.Email("Please enter your email address.")])
submit = SubmitField("Send")

コメントを読んで、次のように更新しました: (validators.Required を InputRequired に置き換えました)

(same fields)  

class ContactForm(Form):  
name = TextField("Name", validators=[InputRequired('Please enter your name.')])
email = EmailField("Email",  validators=[InputRequired("Please enter your email address.")]), validators.Email("Please enter your email address.")])
submit = SubmitField("Send")

唯一の問題は、validators.Email をどうすればよいかわからないことです。表示されるエラー メッセージは次のとおりです。

NameError: name 'validators' is not defined

ドキュメントを確認しましたが、十分に深く調べなかったのかもしれません。電子メール検証の例が見つからないようです。

ベストアンサー1

これを試して:

from flask.ext.wtf import Form
from wtforms import validators
from wtforms.fields.html5 import EmailField

class ContactForm(Form):
    email = EmailField('Email address', [validators.DataRequired(), validators.Email()])

おすすめ記事