From 705b73afc1901ab88a3301af6186c43464fc7611 Mon Sep 17 00:00:00 2001 From: Matt Wright Date: Mon, 20 Aug 2012 23:40:20 -0400 Subject: [PATCH] Form refactoring --- flask_security/forms.py | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/flask_security/forms.py b/flask_security/forms.py index 7ab2086..c5b9443 100644 --- a/flask_security/forms.py +++ b/flask_security/forms.py @@ -21,10 +21,14 @@ from .exceptions import UserNotFoundError _datastore = LocalProxy(lambda: app.extensions['security'].datastore) +email_required = Required(message='Email not provided') +email_validator = Email(message='Invalid email address') + + def unique_user_email(form, field): try: _datastore.find_user(email=field.data) - raise ValidationError('%s is already associated with an account' % field.data) + raise ValidationError(field.data + ' is already associated with an account') except UserNotFoundError: pass @@ -38,21 +42,21 @@ def valid_user_email(form, field): class EmailFormMixin(): email = TextField("Email Address", - validators=[Required(message="Email not provided"), - Email(message="Invalid email address")]) + validators=[email_required, + email_validator]) class UserEmailFormMixin(): email = TextField("Email Address", - validators=[Required(message="Email not provided"), - Email(message="Invalid email address"), + validators=[email_required, + email_validator, valid_user_email]) class UniqueEmailFormMixin(): email = TextField("Email Address", - validators=[Required(message="Email not provided"), - Email(message="Invalid email address"), + validators=[email_required, + email_validator, unique_user_email])