Can you please upen a ticket about this on google code? It looks like a bug.
On Saturday, 24 November 2012 10:37:00 UTC-6, Maria Mitica wrote:
>
> Hello
>
> I have the following problem:
> - i have a sqlform with a date field (which I customized with a jquery
> widget, that, among other things, changes the date format into dd/mm/yy)
> which works fine (displays the correct format after date selection) but if
> the form validation fails than the "saved" value of the date field gets
> reformatted back to '%Y-%m-%d' default format.
>
> this is the field value in the table:
>
> Field('data', 'date', widget=date_widget,
> requires=[IS_NOT_EMPTY(error_message="Completarea campului este
> obligatorie"),
>
> IS_DATE('%d/%m/%Y', error_message = 'Data trebuie sa aiba formatul
> ZZ/LL/AAAA') ],
> label="Data Nasterii", comment="")
>
> db.table.data.represent = lambda value,row : value.strftime('%d/%m/%Y')
>
> and the date widget:
>
> def date_widget(f, v):
> wrapper = DIV()
> inp = SQLFORM.widgets.string.widget(f, v, _class="jqdate")
> jqscr = SCRIPT(
> "jQuery(document).ready(function(){\
> jQuery('#%s').datepicker({\
> dateFormat:'dd/mm/yy',\
> showOtherMonths:true,\
> selectOtherMonths:true,\
> changeYear:true,\
> yearRange: '-80:+0',\
> changeMonth:true\
> });\
> });" % inp['_id'],
> _type="text/javascript")
> wrapper.components.extend([inp, jqscr])
> return wrapper
>
> also i have included the translation in my language file:
> '%Y-%m-%d' : '%d/%m/%Y',
> '%Y-%m-%d %H:%M:%S': '%d/%m/%Y %H:%M:%S',
> '%d.%m.%Y': '%d.%m.%Y',
> '%d.%m.%Y %H:%M:%S': '%d.%m.%Y %H:%M:%S',
> '%d/%m/%Y': '%d/%m/%Y',
> '%d/%m/%Y %H:%M:%S': '%d/%m/%Y %H:%M:%S',
>
> and changed the default format in web2py_ajax.html:
> var w2p_ajax_date_format = "{{=T('%d/%m/%Y')}}";
> var w2p_ajax_datetime_format = "{{=T('%d/%m/%Y %H:%M:%S')}}";
>
> i'm running out of ideas so i thought maybe you could help.
>
> thanks
> 'web2py newbie' :)
>
>
>
--