equal
deleted
inserted
replaced
61 except InvalidTel, e: |
61 except InvalidTel, e: |
62 e.field=field |
62 e.field=field |
63 raise e |
63 raise e |
64 return ret |
64 return ret |
65 |
65 |
66 def vEmail(value, field): |
66 def vEmail(value, field, allowString=True, allowList=True): |
67 '''validator for emailadresses (see wikipeda for strange mailadresses and RFC3696) |
67 '''validator for emailadresses (see wikipeda for strange mailadresses and RFC3696) |
68 valid: |
68 valid: |
69 "very.(),:;<>[]\\".VERY.\\"very@\\\ \\"very\\".unusual"@strange.example.com |
69 "very.(),:;<>[]\\".VERY.\\"very@\\\ \\"very\\".unusual"@strange.example.com |
70 ""@example.org |
70 ""@example.org |
71 "very.unusual.@.unusual.com"@example.com' |
71 "very.unusual.@.unusual.com"@example.com' |
77 this\\ still\\"not\\allowed@example.com |
77 this\\ still\\"not\\allowed@example.com |
78 ''' |
78 ''' |
79 ret = [] |
79 ret = [] |
80 str_=False |
80 str_=False |
81 if type(value) is types.StringType: |
81 if type(value) is types.StringType: |
|
82 if not allowString: |
|
83 raise ValidateException('%s must be a list of email addresses.'%field) |
82 str_=True |
84 str_=True |
83 value=[value] |
85 value=[value] |
|
86 elif not allowList: |
|
87 raise ValidateException('%s must be a email address - No list of email addresses.'%field) |
84 for v in value: |
88 for v in value: |
85 parts= re.match(r'^(.*)@(.+?)$',v) |
89 parts= re.match(r'^(.*)@(.+?)$',v) |
86 if not parts: |
90 if not parts: |
87 raise InvalidMail(v,field) |
91 raise InvalidMail(v,field) |
88 local=parts.group(1) |
92 local=parts.group(1) |