Hi Massimo,
Currently the error_message of all validators are a phrase in English,
such as 'value already in database!' etc. When I gonna do some i18n
for it, I have to do:
db.Field('foo',
requires=IS_NOT_IN_DB(
db,"table.field",
error_message=T('value already in database!')))
db.Field('bar',
requires=IS_NOT_IN_DB(
db,"table.field2",
error_message=T('value already in database!'))) # breaks DRY
rule!
So I suggest we either:
(1) let the default error_message be i18n-ready:
from ... import T
class IS_NOT_IN_DB(...):
def __init__(self,
...
error_message=T('value already in database!'),
...):
or if somehow you don't like validators.py depends on T(), then you
can:
(2) let the default error_message be easier customizable:
class IS_NOT_IN_DB(...):
error_message = 'value already in database' # class wide
def __init__(self,
...
error_message=None,
):
if not error_message:
self.error_message = error_message
so in app's model file we can:
IS_NOT_IN_DB.error_message = T('value already in database!') # class
wide
...
db.Field('foo',
requires=IS_NOT_IN_DB(db,"table.field"))
db.Field('bar',
requires=IS_NOT_IN_DB(db,"table.field2"))
Same proposal applies to all other validators.
Regards,
Iceberg
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"web2py-users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---