Add FormAlchemy-compatible validators for email address, phone number
This commit is contained in:
parent
93fcc72f73
commit
65661a03f5
|
@ -21,14 +21,16 @@
|
||||||
#
|
#
|
||||||
################################################################################
|
################################################################################
|
||||||
"""
|
"""
|
||||||
Custom FormEncode Validators
|
Custom Form Validators
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from __future__ import unicode_literals, absolute_import
|
from __future__ import unicode_literals, absolute_import
|
||||||
|
|
||||||
from rattail.db import model
|
from rattail.db import model
|
||||||
|
from rattail.db.util import validate_email_address, validate_phone_number
|
||||||
|
|
||||||
import formencode as fe
|
import formencode as fe
|
||||||
|
import formalchemy as fa
|
||||||
|
|
||||||
from tailbone.db import Session
|
from tailbone.db import Session
|
||||||
|
|
||||||
|
@ -102,3 +104,27 @@ class ValidUser(ModelValidator):
|
||||||
Validator for user field.
|
Validator for user field.
|
||||||
"""
|
"""
|
||||||
model_class = model.User
|
model_class = model.User
|
||||||
|
|
||||||
|
|
||||||
|
def valid_email_address(value, field=None):
|
||||||
|
"""
|
||||||
|
FormAlchemy-compatible validation function, which leverages FormEncode
|
||||||
|
under the hood.
|
||||||
|
"""
|
||||||
|
if value:
|
||||||
|
try:
|
||||||
|
return validate_email_address(value, error=True)
|
||||||
|
except Exception as error:
|
||||||
|
raise fa.ValidationError(unicode(error))
|
||||||
|
|
||||||
|
|
||||||
|
def valid_phone_number(value, field=None):
|
||||||
|
"""
|
||||||
|
FormAlchemy-compatible validation function, which leverages FormEncode
|
||||||
|
under the hood.
|
||||||
|
"""
|
||||||
|
if value:
|
||||||
|
try:
|
||||||
|
return validate_phone_number(value, error=True)
|
||||||
|
except Exception as error:
|
||||||
|
raise fa.ValidationError(unicode(error))
|
||||||
|
|
Loading…
Reference in a new issue