Docs for IS_EMAIL

[ Python Tutorial ] [ Python Libraries ] [ web2py epydoc ]

Description


<type 'type'> extends (<class 'gluon.validators.Validator'>,)

























































































Checks if field's value is a valid email address. Can be set to disallow
or force addresses from certain domain(s).

Email regex adapted from
http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx,
generally following the RFCs, except that we disallow quoted strings
and permit underscores and leading numerics in subdomain labels

Args:
banned: regex text for disallowed address domains
forced: regex text for required address domains

Both arguments can also be custom objects with a match(value) method.

Example:
Check for valid email address::

INPUT(_type='text', _name='name',
requires=IS_EMAIL())

Check for valid email address that can't be from a .com domain::

INPUT(_type='text', _name='name',
requires=IS_EMAIL(banned='^.*\.com(|\..*)$'))

Check for valid email address that must be from a .edu domain::

INPUT(_type='text', _name='name',
requires=IS_EMAIL(forced='^.*\.edu(|\..*)$'))

>>>
IS_EMAIL()('a@b.com')
(
'a@b.com', None)
>>>
IS_EMAIL()('abc@def.com')
(
'abc@def.com', None)
>>>
IS_EMAIL()('abc@3def.com')
(
'abc@3def.com', None)
>>>
IS_EMAIL()('abc@def.us')
(
'abc@def.us', None)
>>>
IS_EMAIL()('abc@d_-f.us')
(
'abc@d_-f.us', None)
>>>
IS_EMAIL()('@def.com') # missing name
('@def.com', 'enter a valid email address')
>>>
IS_EMAIL()('"abc@def".com') # quoted name
('"abc@def".com', 'enter a valid email address')
>>>
IS_EMAIL()('abc+def.com') # no @
('abc+def.com', 'enter a valid email address')
>>>
IS_EMAIL()('abc@def.x') # one-char TLD
('abc@def.x', 'enter a valid email address')
>>>
IS_EMAIL()('abc@def.12') # numeric TLD
('abc@def.12', 'enter a valid email address')
>>>
IS_EMAIL()('abc@def..com') # double-dot in domain
('abc@def..com', 'enter a valid email address')
>>>
IS_EMAIL()('abc@.def.com') # dot starts domain
('abc@.def.com', 'enter a valid email address')
>>>
IS_EMAIL()('abc@def.c_m') # underscore in TLD
('abc@def.c_m', 'enter a valid email address')
>>>
IS_EMAIL()('NotAnEmail') # missing @
('NotAnEmail', 'enter a valid email address')
>>>
IS_EMAIL()('abc@NotAnEmail') # missing TLD
('abc@NotAnEmail', 'enter a valid email address')
>>>
IS_EMAIL()('customer/department@example.com')
(
'customer/department@example.com', None)
>>>
IS_EMAIL()('$A12345@example.com')
(
'$A12345@example.com', None)
>>>
IS_EMAIL()('!def!xyz%abc@example.com')
(
'!def!xyz%abc@example.com', None)
>>>
IS_EMAIL()('_Yosemite.Sam@example.com')
(
'_Yosemite.Sam@example.com', None)
>>>
IS_EMAIL()('~@example.com')
(
'~@example.com', None)
>>>
IS_EMAIL()('.wooly@example.com') # dot starts name
('.wooly@example.com', 'enter a valid email address')
>>>
IS_EMAIL()('wo..oly@example.com') # adjacent dots in name
('wo..oly@example.com', 'enter a valid email address')
>>>
IS_EMAIL()('pootietang.@example.com') # dot ends name
('pootietang.@example.com', 'enter a valid email address')
>>>
IS_EMAIL()('.@example.com') # name is bare dot
('.@example.com', 'enter a valid email address')
>>>
IS_EMAIL()('Ima.Fool@example.com')
(
'Ima.Fool@example.com', None)
>>>
IS_EMAIL()('Ima Fool@example.com') # space in name
('Ima Fool@example.com', 'enter a valid email address')
>>>
IS_EMAIL()('localguy@localhost') # localhost as domain
('localguy@localhost', None)



Attributes


IS_EMAIL.__call__ <type 'instancemethod'> belongs to class <type 'instancemethod'>

IS_EMAIL.__class__ <type 'type'> extends (<type 'object'>,) belongs to class <type 'type'>
type(object) -> the object's type type(name, bases, dict) -> a new type

IS_EMAIL.__delattr__ <type 'wrapper_descriptor'> belongs to class <type 'wrapper_descriptor'>
x.__delattr__('name') <==> del x.name

IS_EMAIL.__dict__ <type 'dictproxy'> belongs to class <type 'dictproxy'>

IS_EMAIL.__doc__ <type 'str'> belongs to class <type 'str'>
str(object='') -> string Return a nice string representation of the object. If the argument is a string, the return value is the same object.

IS_EMAIL.__format__ <type 'method_descriptor'> belongs to class <type 'method_descriptor'>
default object formatter

IS_EMAIL.__getattribute__ <type 'wrapper_descriptor'> belongs to class <type 'wrapper_descriptor'>
x.__getattribute__('name') <==> x.name

IS_EMAIL.__hash__ <type 'wrapper_descriptor'> belongs to class <type 'wrapper_descriptor'>
x.__hash__() <==> hash(x)

IS_EMAIL.__init__ <type 'instancemethod'> belongs to class <type 'instancemethod'>

IS_EMAIL.__module__ <type 'str'> belongs to class <type 'str'>
str(object='') -> string Return a nice string representation of the object. If the argument is a string, the return value is the same object.

IS_EMAIL.__new__ <type 'builtin_function_or_method'> belongs to class <type 'builtin_function_or_method'>
T.__new__(S, ...) -> a new object with type S, a subtype of T

IS_EMAIL.__reduce__ <type 'method_descriptor'> belongs to class <type 'method_descriptor'>
helper for pickle

IS_EMAIL.__reduce_ex__ <type 'method_descriptor'> belongs to class <type 'method_descriptor'>
helper for pickle

IS_EMAIL.__repr__ <type 'wrapper_descriptor'> belongs to class <type 'wrapper_descriptor'>
x.__repr__() <==> repr(x)

IS_EMAIL.__setattr__ <type 'wrapper_descriptor'> belongs to class <type 'wrapper_descriptor'>
x.__setattr__('name', value) <==> x.name = value

IS_EMAIL.__sizeof__ <type 'method_descriptor'> belongs to class <type 'method_descriptor'>
__sizeof__() -> int size of object in memory, in bytes

IS_EMAIL.__str__ <type 'wrapper_descriptor'> belongs to class <type 'wrapper_descriptor'>
x.__str__() <==> str(x)

IS_EMAIL.__subclasshook__ <type 'builtin_function_or_method'> belongs to class <type 'builtin_function_or_method'>
Abstract classes can override this to customize issubclass(). This is invoked early on by abc.ABCMeta.__subclasscheck__(). It should return True, False or NotImplemented. If it returns NotImplemented, the normal algorithm is used. Otherwise, it overrides the normal algorithm (and the outcome is cached).

IS_EMAIL.__weakref__ <type 'getset_descriptor'> belongs to class <type 'getset_descriptor'>
list of weak references to the object (if defined)

IS_EMAIL.formatter <type 'instancemethod'> belongs to class <type 'instancemethod'>
For some validators returns a formatted version (matching the validator) of value. Otherwise just returns the value.

IS_EMAIL.regex <type '_sre.SRE_Pattern'> belongs to class <type '_sre.SRE_Pattern'>
Compiled regular expression objects

IS_EMAIL.regex_proposed_but_failed <type '_sre.SRE_Pattern'> belongs to class <type '_sre.SRE_Pattern'>
Compiled regular expression objects