Merge pull request #351 from kirsn/master
Update error_messages; capitalize first character
This commit is contained in:
+39
-39
@@ -122,7 +122,7 @@ class Validator(object):
|
|||||||
message which allows you to change the default error message.
|
message which allows you to change the default error message.
|
||||||
Here is an example of a validator on a database table::
|
Here is an example of a validator on a database table::
|
||||||
|
|
||||||
db.person.name.requires=IS_NOT_EMPTY(error_message=T('fill this'))
|
db.person.name.requires=IS_NOT_EMPTY(error_message=T('Fill this'))
|
||||||
|
|
||||||
where we have used the translation operator T to allow for
|
where we have used the translation operator T to allow for
|
||||||
internationalization.
|
internationalization.
|
||||||
@@ -175,7 +175,7 @@ class IS_MATCH(Validator):
|
|||||||
('', 'invalid expression')
|
('', 'invalid expression')
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self, expression, error_message='invalid expression',
|
def __init__(self, expression, error_message='Invalid expression',
|
||||||
strict=False, search=False, extract=False,
|
strict=False, search=False, extract=False,
|
||||||
is_unicode=False):
|
is_unicode=False):
|
||||||
|
|
||||||
@@ -222,7 +222,7 @@ class IS_EQUAL_TO(Validator):
|
|||||||
('aab', 'no match')
|
('aab', 'no match')
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self, expression, error_message='no match'):
|
def __init__(self, expression, error_message='No match'):
|
||||||
self.expression = expression
|
self.expression = expression
|
||||||
self.error_message = error_message
|
self.error_message = error_message
|
||||||
|
|
||||||
@@ -248,7 +248,7 @@ class IS_EXPR(Validator):
|
|||||||
('2', 'invalid expression')
|
('2', 'invalid expression')
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self, expression, error_message='invalid expression', environment=None):
|
def __init__(self, expression, error_message='Invalid expression', environment=None):
|
||||||
self.expression = expression
|
self.expression = expression
|
||||||
self.error_message = error_message
|
self.error_message = error_message
|
||||||
self.environment = environment or {}
|
self.environment = environment or {}
|
||||||
@@ -296,7 +296,7 @@ class IS_LENGTH(Validator):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self, maxsize=255, minsize=0,
|
def __init__(self, maxsize=255, minsize=0,
|
||||||
error_message='enter from %(min)g to %(max)g characters'):
|
error_message='Enter from %(min)g to %(max)g characters'):
|
||||||
self.maxsize = maxsize
|
self.maxsize = maxsize
|
||||||
self.minsize = minsize
|
self.minsize = minsize
|
||||||
self.error_message = error_message
|
self.error_message = error_message
|
||||||
@@ -350,7 +350,7 @@ class IS_JSON(Validator):
|
|||||||
('spam1234', 'invalid json')
|
('spam1234', 'invalid json')
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self, error_message='invalid json', native_json=False):
|
def __init__(self, error_message='Invalid json', native_json=False):
|
||||||
self.native_json = native_json
|
self.native_json = native_json
|
||||||
self.error_message = error_message
|
self.error_message = error_message
|
||||||
|
|
||||||
@@ -401,7 +401,7 @@ class IS_IN_SET(Validator):
|
|||||||
self,
|
self,
|
||||||
theset,
|
theset,
|
||||||
labels=None,
|
labels=None,
|
||||||
error_message='value not allowed',
|
error_message='Value not allowed',
|
||||||
multiple=False,
|
multiple=False,
|
||||||
zero='',
|
zero='',
|
||||||
sort=False,
|
sort=False,
|
||||||
@@ -476,7 +476,7 @@ class IS_IN_DB(Validator):
|
|||||||
dbset,
|
dbset,
|
||||||
field,
|
field,
|
||||||
label=None,
|
label=None,
|
||||||
error_message='value not in database',
|
error_message='Value not in database',
|
||||||
orderby=None,
|
orderby=None,
|
||||||
groupby=None,
|
groupby=None,
|
||||||
distinct=None,
|
distinct=None,
|
||||||
@@ -622,7 +622,7 @@ class IS_NOT_IN_DB(Validator):
|
|||||||
self,
|
self,
|
||||||
dbset,
|
dbset,
|
||||||
field,
|
field,
|
||||||
error_message='value already in database or empty',
|
error_message='Value already in database or empty',
|
||||||
allowed_override=[],
|
allowed_override=[],
|
||||||
ignore_common_filters=False,
|
ignore_common_filters=False,
|
||||||
):
|
):
|
||||||
@@ -674,7 +674,7 @@ class IS_NOT_IN_DB(Validator):
|
|||||||
def range_error_message(error_message, what_to_enter, minimum, maximum):
|
def range_error_message(error_message, what_to_enter, minimum, maximum):
|
||||||
"build the error message for the number range validators"
|
"build the error message for the number range validators"
|
||||||
if error_message is None:
|
if error_message is None:
|
||||||
error_message = 'enter ' + what_to_enter
|
error_message = 'Enter ' + what_to_enter
|
||||||
if minimum is not None and maximum is not None:
|
if minimum is not None and maximum is not None:
|
||||||
error_message += ' between %(min)g and %(max)g'
|
error_message += ' between %(min)g and %(max)g'
|
||||||
elif minimum is not None:
|
elif minimum is not None:
|
||||||
@@ -953,7 +953,7 @@ class IS_NOT_EMPTY(Validator):
|
|||||||
('abc', None)
|
('abc', None)
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self, error_message='enter a value', empty_regex=None):
|
def __init__(self, error_message='Enter a value', empty_regex=None):
|
||||||
self.error_message = error_message
|
self.error_message = error_message
|
||||||
if empty_regex is not None:
|
if empty_regex is not None:
|
||||||
self.empty_regex = re.compile(empty_regex)
|
self.empty_regex = re.compile(empty_regex)
|
||||||
@@ -983,7 +983,7 @@ class IS_ALPHANUMERIC(IS_MATCH):
|
|||||||
('!', 'enter only letters, numbers, and underscore')
|
('!', 'enter only letters, numbers, and underscore')
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self, error_message='enter only letters, numbers, and underscore'):
|
def __init__(self, error_message='Enter only letters, numbers, and underscore'):
|
||||||
IS_MATCH.__init__(self, '^[\w]*$', error_message)
|
IS_MATCH.__init__(self, '^[\w]*$', error_message)
|
||||||
|
|
||||||
|
|
||||||
@@ -1105,7 +1105,7 @@ class IS_EMAIL(Validator):
|
|||||||
def __init__(self,
|
def __init__(self,
|
||||||
banned=None,
|
banned=None,
|
||||||
forced=None,
|
forced=None,
|
||||||
error_message='enter a valid email address'):
|
error_message='Enter a valid email address'):
|
||||||
if isinstance(banned, str):
|
if isinstance(banned, str):
|
||||||
banned = re.compile(banned)
|
banned = re.compile(banned)
|
||||||
if isinstance(forced, str):
|
if isinstance(forced, str):
|
||||||
@@ -1471,7 +1471,7 @@ class IS_GENERIC_URL(Validator):
|
|||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
error_message='enter a valid URL',
|
error_message='Enter a valid URL',
|
||||||
allowed_schemes=None,
|
allowed_schemes=None,
|
||||||
prepend_scheme=None,
|
prepend_scheme=None,
|
||||||
):
|
):
|
||||||
@@ -1889,7 +1889,7 @@ class IS_HTTP_URL(Validator):
|
|||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
error_message='enter a valid URL',
|
error_message='Enter a valid URL',
|
||||||
allowed_schemes=None,
|
allowed_schemes=None,
|
||||||
prepend_scheme='http',
|
prepend_scheme='http',
|
||||||
):
|
):
|
||||||
@@ -2058,7 +2058,7 @@ class IS_URL(Validator):
|
|||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
error_message='enter a valid URL',
|
error_message='Enter a valid URL',
|
||||||
mode='http',
|
mode='http',
|
||||||
allowed_schemes=None,
|
allowed_schemes=None,
|
||||||
prepend_scheme='http',
|
prepend_scheme='http',
|
||||||
@@ -2174,7 +2174,7 @@ class IS_TIME(Validator):
|
|||||||
('', 'enter time as hh:mm:ss (seconds, am, pm optional)')
|
('', 'enter time as hh:mm:ss (seconds, am, pm optional)')
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self, error_message='enter time as hh:mm:ss (seconds, am, pm optional)'):
|
def __init__(self, error_message='Enter time as hh:mm:ss (seconds, am, pm optional)'):
|
||||||
self.error_message = error_message
|
self.error_message = error_message
|
||||||
|
|
||||||
def __call__(self, value):
|
def __call__(self, value):
|
||||||
@@ -2221,7 +2221,7 @@ class IS_DATE(Validator):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self, format='%Y-%m-%d',
|
def __init__(self, format='%Y-%m-%d',
|
||||||
error_message='enter date as %(format)s',
|
error_message='Enter date as %(format)s',
|
||||||
timezone = None):
|
timezone = None):
|
||||||
"""
|
"""
|
||||||
timezome must be None or a pytz.timezone("America/Chicago") object
|
timezome must be None or a pytz.timezone("America/Chicago") object
|
||||||
@@ -2295,7 +2295,7 @@ class IS_DATETIME(Validator):
|
|||||||
return dict(format=format)
|
return dict(format=format)
|
||||||
|
|
||||||
def __init__(self, format='%Y-%m-%d %H:%M:%S',
|
def __init__(self, format='%Y-%m-%d %H:%M:%S',
|
||||||
error_message='enter date and time as %(format)s',
|
error_message='Enter date and time as %(format)s',
|
||||||
timezone=None):
|
timezone=None):
|
||||||
"""
|
"""
|
||||||
timezome must be None or a pytz.timezone("America/Chicago") object
|
timezome must be None or a pytz.timezone("America/Chicago") object
|
||||||
@@ -2343,7 +2343,7 @@ class IS_DATE_IN_RANGE(IS_DATE):
|
|||||||
|
|
||||||
>>> v = IS_DATE_IN_RANGE(minimum=datetime.date(2008,1,1), \
|
>>> v = IS_DATE_IN_RANGE(minimum=datetime.date(2008,1,1), \
|
||||||
maximum=datetime.date(2009,12,31), \
|
maximum=datetime.date(2009,12,31), \
|
||||||
format="%m/%d/%Y",error_message="oops")
|
format="%m/%d/%Y",error_message="Oops")
|
||||||
|
|
||||||
>>> v('03/03/2008')
|
>>> v('03/03/2008')
|
||||||
(datetime.date(2008, 3, 3), None)
|
(datetime.date(2008, 3, 3), None)
|
||||||
@@ -2368,11 +2368,11 @@ class IS_DATE_IN_RANGE(IS_DATE):
|
|||||||
self.maximum = maximum
|
self.maximum = maximum
|
||||||
if error_message is None:
|
if error_message is None:
|
||||||
if minimum is None:
|
if minimum is None:
|
||||||
error_message = "enter date on or before %(max)s"
|
error_message = "Enter date on or before %(max)s"
|
||||||
elif maximum is None:
|
elif maximum is None:
|
||||||
error_message = "enter date on or after %(min)s"
|
error_message = "Enter date on or after %(min)s"
|
||||||
else:
|
else:
|
||||||
error_message = "enter date in range %(min)s %(max)s"
|
error_message = "Enter date in range %(min)s %(max)s"
|
||||||
IS_DATE.__init__(self,
|
IS_DATE.__init__(self,
|
||||||
format=format,
|
format=format,
|
||||||
error_message=error_message,
|
error_message=error_message,
|
||||||
@@ -2399,7 +2399,7 @@ class IS_DATETIME_IN_RANGE(IS_DATETIME):
|
|||||||
>>> v = IS_DATETIME_IN_RANGE(\
|
>>> v = IS_DATETIME_IN_RANGE(\
|
||||||
minimum=datetime.datetime(2008,1,1,12,20), \
|
minimum=datetime.datetime(2008,1,1,12,20), \
|
||||||
maximum=datetime.datetime(2009,12,31,12,20), \
|
maximum=datetime.datetime(2009,12,31,12,20), \
|
||||||
format="%m/%d/%Y %H:%M",error_message="oops")
|
format="%m/%d/%Y %H:%M",error_message="Oops")
|
||||||
>>> v('03/03/2008 12:40')
|
>>> v('03/03/2008 12:40')
|
||||||
(datetime.datetime(2008, 3, 3, 12, 40), None)
|
(datetime.datetime(2008, 3, 3, 12, 40), None)
|
||||||
|
|
||||||
@@ -2422,11 +2422,11 @@ class IS_DATETIME_IN_RANGE(IS_DATETIME):
|
|||||||
self.maximum = maximum
|
self.maximum = maximum
|
||||||
if error_message is None:
|
if error_message is None:
|
||||||
if minimum is None:
|
if minimum is None:
|
||||||
error_message = "enter date and time on or before %(max)s"
|
error_message = "Enter date and time on or before %(max)s"
|
||||||
elif maximum is None:
|
elif maximum is None:
|
||||||
error_message = "enter date and time on or after %(min)s"
|
error_message = "Enter date and time on or after %(min)s"
|
||||||
else:
|
else:
|
||||||
error_message = "enter date and time in range %(min)s %(max)s"
|
error_message = "Enter date and time in range %(min)s %(max)s"
|
||||||
IS_DATETIME.__init__(self,
|
IS_DATETIME.__init__(self,
|
||||||
format=format,
|
format=format,
|
||||||
error_message=error_message,
|
error_message=error_message,
|
||||||
@@ -2453,7 +2453,7 @@ class IS_LIST_OF(Validator):
|
|||||||
self.other = other
|
self.other = other
|
||||||
self.minimum = minimum
|
self.minimum = minimum
|
||||||
self.maximum = maximum
|
self.maximum = maximum
|
||||||
self.error_message = error_message or "enter between %(min)g and %(max)g values"
|
self.error_message = error_message or "Enter between %(min)g and %(max)g values"
|
||||||
|
|
||||||
def __call__(self, value):
|
def __call__(self, value):
|
||||||
ivalue = value
|
ivalue = value
|
||||||
@@ -2580,7 +2580,7 @@ class IS_SLUG(Validator):
|
|||||||
def urlify(value, maxlen=80, keep_underscores=False):
|
def urlify(value, maxlen=80, keep_underscores=False):
|
||||||
return urlify(value, maxlen, keep_underscores)
|
return urlify(value, maxlen, keep_underscores)
|
||||||
|
|
||||||
def __init__(self, maxlen=80, check=False, error_message='must be slug', keep_underscores=False):
|
def __init__(self, maxlen=80, check=False, error_message='Must be slug', keep_underscores=False):
|
||||||
self.maxlen = maxlen
|
self.maxlen = maxlen
|
||||||
self.check = check
|
self.check = check
|
||||||
self.error_message = error_message
|
self.error_message = error_message
|
||||||
@@ -2878,7 +2878,7 @@ class CRYPT(object):
|
|||||||
key=None,
|
key=None,
|
||||||
digest_alg='pbkdf2(1000,20,sha512)',
|
digest_alg='pbkdf2(1000,20,sha512)',
|
||||||
min_length=0,
|
min_length=0,
|
||||||
error_message='too short', salt=True,
|
error_message='Too short', salt=True,
|
||||||
max_length=1024):
|
max_length=1024):
|
||||||
"""
|
"""
|
||||||
important, digest_alg='md5' is not the default hashing algorithm for
|
important, digest_alg='md5' is not the default hashing algorithm for
|
||||||
@@ -3123,7 +3123,7 @@ class IS_IMAGE(Validator):
|
|||||||
extensions=('bmp', 'gif', 'jpeg', 'png'),
|
extensions=('bmp', 'gif', 'jpeg', 'png'),
|
||||||
maxsize=(10000, 10000),
|
maxsize=(10000, 10000),
|
||||||
minsize=(0, 0),
|
minsize=(0, 0),
|
||||||
error_message='invalid image'):
|
error_message='Invalid image'):
|
||||||
|
|
||||||
self.extensions = extensions
|
self.extensions = extensions
|
||||||
self.maxsize = maxsize
|
self.maxsize = maxsize
|
||||||
@@ -3230,7 +3230,7 @@ class IS_UPLOAD_FILENAME(Validator):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self, filename=None, extension=None, lastdot=True, case=1,
|
def __init__(self, filename=None, extension=None, lastdot=True, case=1,
|
||||||
error_message='enter valid filename'):
|
error_message='Enter valid filename'):
|
||||||
if isinstance(filename, str):
|
if isinstance(filename, str):
|
||||||
filename = re.compile(filename)
|
filename = re.compile(filename)
|
||||||
if isinstance(extension, str):
|
if isinstance(extension, str):
|
||||||
@@ -3342,7 +3342,7 @@ class IS_IPV4(Validator):
|
|||||||
('300.2.3.4', 'enter valid IPv4 address')
|
('300.2.3.4', 'enter valid IPv4 address')
|
||||||
>>> IS_IPV4(minip='1.2.3.4', maxip='1.2.3.4')('1.2.3.4')
|
>>> IS_IPV4(minip='1.2.3.4', maxip='1.2.3.4')('1.2.3.4')
|
||||||
('1.2.3.4', None)
|
('1.2.3.4', None)
|
||||||
>>> IS_IPV4(minip='1.2.3.5', maxip='1.2.3.9', error_message='bad ip')('1.2.3.4')
|
>>> IS_IPV4(minip='1.2.3.5', maxip='1.2.3.9', error_message='Bad ip')('1.2.3.4')
|
||||||
('1.2.3.4', 'bad ip')
|
('1.2.3.4', 'bad ip')
|
||||||
>>> IS_IPV4(maxip='1.2.3.4', invert=True)('127.0.0.1')
|
>>> IS_IPV4(maxip='1.2.3.4', invert=True)('127.0.0.1')
|
||||||
('127.0.0.1', None)
|
('127.0.0.1', None)
|
||||||
@@ -3373,7 +3373,7 @@ class IS_IPV4(Validator):
|
|||||||
is_localhost=None,
|
is_localhost=None,
|
||||||
is_private=None,
|
is_private=None,
|
||||||
is_automatic=None,
|
is_automatic=None,
|
||||||
error_message='enter valid IPv4 address'):
|
error_message='Enter valid IPv4 address'):
|
||||||
for n, value in enumerate((minip, maxip)):
|
for n, value in enumerate((minip, maxip)):
|
||||||
temp = []
|
temp = []
|
||||||
if isinstance(value, str):
|
if isinstance(value, str):
|
||||||
@@ -3462,7 +3462,7 @@ class IS_IPV6(Validator):
|
|||||||
('fe80::126c:8ffa:fe22:b3af', None)
|
('fe80::126c:8ffa:fe22:b3af', None)
|
||||||
>>> IS_IPV6()('192.168.1.1')
|
>>> IS_IPV6()('192.168.1.1')
|
||||||
('192.168.1.1', 'enter valid IPv6 address')
|
('192.168.1.1', 'enter valid IPv6 address')
|
||||||
>>> IS_IPV6(error_message='bad ip')('192.168.1.1')
|
>>> IS_IPV6(error_message='Bad ip')('192.168.1.1')
|
||||||
('192.168.1.1', 'bad ip')
|
('192.168.1.1', 'bad ip')
|
||||||
>>> IS_IPV6(is_link_local=True)('fe80::126c:8ffa:fe22:b3af')
|
>>> IS_IPV6(is_link_local=True)('fe80::126c:8ffa:fe22:b3af')
|
||||||
('fe80::126c:8ffa:fe22:b3af', None)
|
('fe80::126c:8ffa:fe22:b3af', None)
|
||||||
@@ -3499,7 +3499,7 @@ class IS_IPV6(Validator):
|
|||||||
is_6to4=None,
|
is_6to4=None,
|
||||||
is_teredo=None,
|
is_teredo=None,
|
||||||
subnets=None,
|
subnets=None,
|
||||||
error_message='enter valid IPv6 address'):
|
error_message='Enter valid IPv6 address'):
|
||||||
self.is_private = is_private
|
self.is_private = is_private
|
||||||
self.is_link_local = is_link_local
|
self.is_link_local = is_link_local
|
||||||
self.is_reserved = is_reserved
|
self.is_reserved = is_reserved
|
||||||
@@ -3647,7 +3647,7 @@ class IS_IPADDRESS(Validator):
|
|||||||
('300.2.3.4', 'enter valid IP address')
|
('300.2.3.4', 'enter valid IP address')
|
||||||
>>> IS_IPADDRESS(minip='192.168.1.0', maxip='192.168.1.255')('192.168.1.100')
|
>>> IS_IPADDRESS(minip='192.168.1.0', maxip='192.168.1.255')('192.168.1.100')
|
||||||
('192.168.1.100', None)
|
('192.168.1.100', None)
|
||||||
>>> IS_IPADDRESS(minip='1.2.3.5', maxip='1.2.3.9', error_message='bad ip')('1.2.3.4')
|
>>> IS_IPADDRESS(minip='1.2.3.5', maxip='1.2.3.9', error_message='Bad ip')('1.2.3.4')
|
||||||
('1.2.3.4', 'bad ip')
|
('1.2.3.4', 'bad ip')
|
||||||
>>> IS_IPADDRESS(maxip='1.2.3.4', invert=True)('127.0.0.1')
|
>>> IS_IPADDRESS(maxip='1.2.3.4', invert=True)('127.0.0.1')
|
||||||
('127.0.0.1', None)
|
('127.0.0.1', None)
|
||||||
@@ -3672,7 +3672,7 @@ class IS_IPADDRESS(Validator):
|
|||||||
('fe80::126c:8ffa:fe22:b3af', 'enter valid IP address')
|
('fe80::126c:8ffa:fe22:b3af', 'enter valid IP address')
|
||||||
>>> IS_IPADDRESS(is_ipv6=True)('192.168.1.1')
|
>>> IS_IPADDRESS(is_ipv6=True)('192.168.1.1')
|
||||||
('192.168.1.1', 'enter valid IP address')
|
('192.168.1.1', 'enter valid IP address')
|
||||||
>>> IS_IPADDRESS(is_ipv6=True, error_message='bad ip')('192.168.1.1')
|
>>> IS_IPADDRESS(is_ipv6=True, error_message='Bad ip')('192.168.1.1')
|
||||||
('192.168.1.1', 'bad ip')
|
('192.168.1.1', 'bad ip')
|
||||||
>>> IS_IPADDRESS(is_link_local=True)('fe80::126c:8ffa:fe22:b3af')
|
>>> IS_IPADDRESS(is_link_local=True)('fe80::126c:8ffa:fe22:b3af')
|
||||||
('fe80::126c:8ffa:fe22:b3af', None)
|
('fe80::126c:8ffa:fe22:b3af', None)
|
||||||
@@ -3714,7 +3714,7 @@ class IS_IPADDRESS(Validator):
|
|||||||
is_teredo=None,
|
is_teredo=None,
|
||||||
subnets=None,
|
subnets=None,
|
||||||
is_ipv6=None,
|
is_ipv6=None,
|
||||||
error_message='enter valid IP address'):
|
error_message='Enter valid IP address'):
|
||||||
self.minip = minip,
|
self.minip = minip,
|
||||||
self.maxip = maxip,
|
self.maxip = maxip,
|
||||||
self.invert = invert
|
self.invert = invert
|
||||||
|
|||||||
Reference in New Issue
Block a user