Add FormAlchemy-compatible validators for email address, phone number
This commit is contained in:
		
							parent
							
								
									93fcc72f73
								
							
						
					
					
						commit
						65661a03f5
					
				
					 1 changed files with 27 additions and 1 deletions
				
			
		| 
						 | 
					@ -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…
	
	Add table
		Add a link
		
	
		Reference in a new issue