重複確認 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して置く必要がある。

f:id:yukking3:20180506181025p:plain

実際に試すとこうなる。 f:id:yukking3:20180506181051p:plain