Hello,
I have a tablefield defined as decimal(10,2).
Fields for SQLFORM is defined as:
fields=['price_consumer']
field_labels=['price_cunsumer': T('price consumer')]
and then the form is generated as:
form = SQLFORM(db.product, fields=fields, labels=field_labels)
When I try to fill the form with values I get a Internal error because
i tried to put the price with a comma, so 12,50 is not allowed but
12.50 is.
How to indicate the problem and not to get the Internal error?
Error traceback:
Traceback (most recent call last):
File "gluon/restricted.py", line 186, in restricted
exec ccode in environment
File "/data/domains/exp-kal.nudata.fi/applications/init/controllers/
product.py", line 99, in <module>
File "gluon/globals.py", line 96, in <lambda>
self._caller = lambda f: f()
File "gluon/tools.py", line 2219, in f
return action(*a, **b)
File "/data/domains/exp-kal.nudata.fi/applications/init/controllers/
product.py", line 81, in edit
if form.accepts(request.vars, session):
File "gluon/sqlhtml.py", line 906, in accepts
hideerror=hideerror,
File "gluon/html.py", line 1512, in accepts
status = self._traverse(status,hideerror)
File "gluon/html.py", line 522, in _traverse
newstatus = c._traverse(status,hideerror) and newstatus
File "gluon/html.py", line 522, in _traverse
newstatus = c._traverse(status,hideerror) and newstatus
File "gluon/html.py", line 522, in _traverse
newstatus = c._traverse(status,hideerror) and newstatus
File "gluon/html.py", line 522, in _traverse
newstatus = c._traverse(status,hideerror) and newstatus
File "gluon/html.py", line 529, in _traverse
newstatus = self._validate()
File "gluon/html.py", line 1300, in _validate
(value, errors) = validator(value)
File "gluon/validators.py", line 2313, in __call__
return self.other(value)
File "gluon/validators.py", line 725, in __call__
v = decimal.Decimal(str(value))
File "/usr/lib64/python2.5/decimal.py", line 614, in __new__
self._sign, self._int, self._exp =
context._raise_error(ConversionSyntax)
File "/usr/lib64/python2.5/decimal.py", line 2325, in _raise_error
raise error, explanation
InvalidOperation