Sorry, what I use not my own conversation, but I try to change
calendar widget for date field and have same problem like RipRyness
had.

I create small application just to recreate this problem:

============
In model:
============
T.force('it') # force internationalization to change date format to %d/
%m/%Y
db.define_table('atable',
                Field('a','date',requires=IS_NULL_OR(IS_DATE(str(T('%Y-
%m-%d')))),widget=SQLFORM.widgets.date.widget),
                Field('b','date',requires=IS_NULL_OR(IS_DATE(str(T('%Y-
%m-%d'))))))

============
In controller:
============
def index():
    return dict(form=crud())

def data():
    return dict(form=crud())

============
In view:
============
{{extend 'layout.html'}}

{{=form}}
============

Let's try to add row with form at 'default/index/create/atable'.  Put
proper formatted date 31/08/2010 to  field A  and and incorrect date
01/08/201 to field B. After submitting this form, I got normal red
message about error in field B, but date in field A changed from
31/08/2010  to 2010-08-31. This effect happens if I change widget. For
this test I use native widget for date - SQLFORM.widgets.date.widget,
but have described problem. But if I remove
widget=SQLFORM.widgets.date.widget from Field A, all works fine, with
correct date format.   I use web2py 1.83.2

Reply via email to