iro/validate.py
branchdevel
changeset 193 e5ec4bfa4929
parent 181 8a5be61f34c5
child 196 ee2c051fbe3f
--- a/iro/validate.py	Mon Feb 27 22:20:19 2012 +0100
+++ b/iro/validate.py	Mon Feb 27 22:21:22 2012 +0100
@@ -63,7 +63,7 @@
             raise e
     return ret
 
-def vEmail(value, field):
+def vEmail(value, field, allowString=True, allowList=True):
     '''validator for emailadresses (see wikipeda for strange mailadresses and RFC3696)
     valid:
     "very.(),:;<>[]\\".VERY.\\"very@\\\ \\"very\\".unusual"@strange.example.com
@@ -79,8 +79,12 @@
     ret = []
     str_=False
     if type(value) is types.StringType:
+        if not allowString:
+            raise ValidateException('%s must be a list of email addresses.'%field)
         str_=True
         value=[value]
+    elif not allowList:
+        raise ValidateException('%s must be a email address - No list of email addresses.'%field)
     for v in value:
         parts= re.match(r'^(.*)@(.+?)$',v)
         if not parts: