Thanks Hermann,
This still does not work for me. The pattern =
'#,##0.####' seems to have no effect on the converter. Perhaps I'm
doing something wrong, I'm posting my setup below.
This most
certainly have to be a bug in the system if you can't put 1.2345 into a
decimal field, no? If so is there a bug tracker for z3c.form where I
can post this and get it fixed?
#interfaces.py
class IFixedDecimal(IDecimal):
"""Fixed decimal field."""
class FixedDecimal(schema.Decimal):
interface.implements(
Am Mittwoch 10 Februar 2010 17:27:09 schrieb Mats Nordgren:
I remember that one - quite cumbersome. Try something like this:> I have an interface with a decimal field. It validates fine for 1,2 and 3
> fractions but if I enter a decimal with 4 fractions I get validation error
> "The entered value is not a valid decimal literal."
>
> I'm using the pypi release of bluebream and z3c.form 2.3.2.
# You should use the following interface for your forms:
class IMyDecimal(IDecimal):
"""Specify custom decimal interface"""
# Now create a custom data converter
class MyDecimalDataConverter(BaseDecimalDataConverter):
"""Adapt decimal data converter"""
adapts(IMyDecimal, IWidget)
# The amount of '#' after the '.' outlines the no. of decimal places
pattern = '#,##0.####'
# And specify in overrides.zcml
<adapter factory="mymodule.MyDecimalDataConverter" />
This works for me.
Best Regards,
Hermann
--
hermann@qwer.tk
GPG key ID: 299893C7 (on keyservers)
FP: 0124 2584 8809 EF2A DBF9 4902 64B4 D16B 2998 93C7