On Sep 5, 8:29 am, Iceberg <
iceb...@21cn.com> wrote:
> Currently the error_message of all validators are a phrase in English
+1 for getting this fixed in a DRY manner :)
> (1) let the default error_message be i18n-ready:
> or if somehow you don't like validators.py depends on T(), then you
> can:
tools.py does this by using the Messages() class for messages.
We should follow the same pattern if possible:
class IS_NOT_IN_DB(...):
def __init__(..., environment):
self.messages = Messages(None)
self.messages.error = 'value already in database!'
self.messages['T'] = self.environment.T
I suspect this isn't possible, though, since gluon modules are
executed rather than being imported?
> (2) let the default error_message be easier customizable:
> so in app's model file we can:
> IS_NOT_IN_DB.error_message = T('value already in database!') # class
This would a reasomable backwards-compatible alternative, especially
if a file was added to the scaffolding apps's models folder which had
all these strings in (& was maintained as/when new validators are
added).
(This file can easily be copied into other existing apps)
On syntax, I think we should maintain the one which comes with tools,
so:
IS_NOT_IN_DB.messages.error = T('value already in database!')
F