重複確認 writing custom validations Section 11, Lecture 47
すでにデータが存在しているかを確認する方法
forms.pyで文字数や有効性を確認をしていた。
forms.pyに関数を作る→forms.pyのチェック機能に重複確認関数を追加する必要がある。
def email_exists(form, field): email = User.query.filter_by(user_email=field.data).first() if email: raise ValidationError('Email Already Exists')
forms.py側は email_existsを追加するだけである。
変更後:email = StringField('E-mail', validators=[DataRequired(), Email(), email_exists]) 変更前:email = StringField('E-mail', validators=[DataRequired(), Email()])
また、from app.auth.models import Userのdbをimportして置く必要がある。
実際に試すとこうなる。