【问题标题】:Django forms date validation failing on localizationDjango 表单日期验证在本地化时失败
【发布时间】:2012-04-10 18:22:24
【问题描述】:

您好,我有一个表格,例如:

class GraphForm(forms.Form):
    ...
    startdate = forms.DateField(
                label=ugettext_lazy('Start Date'),
                widget=forms.TextInput(attrs={"placeholder": 'YYYY-MM-DD'}),
                )
    enddate = forms.DateField(
                label=ugettext_lazy('End Date'),
                widget=forms.TextInput(attrs={"placeholder": 'YYYY-MM-DD'}),
                )
    ...

问题是我正在使用 Django 的国际化和本地化与国际网站合作。该表单在英语中可以正常工作,但如果将语言切换为西班牙语,则日期字段将无法通过格式验证。无论语言选择如何,有什么方法可以绕过本地化并以相同的格式进行验证?

非常感谢任何帮助。

【问题讨论】:

    标签: django forms validation


    【解决方案1】:

    好的,所以答案非常简单:

    date_format = '%Y-%m-%d' 
    
    class GraphForm(forms.Form):
        ...
        startdate = forms.DateField(
                label=ugettext_lazy('Start Date'),
                widget=forms.TextInput(attrs={"placeholder": 'YYYY-MM-DD'}),
                input_formats=[date_format,],
                )
        enddate = forms.DateField(
                label=ugettext_lazy('End Date'),
                widget=forms.TextInput(attrs={"placeholder": 'YYYY-MM-DD'}),
                input_formats=[date_format,],
                )
        ...
    

    希望这对其他人有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-29
      • 2012-08-19
      • 1970-01-01
      • 2015-02-17
      • 1970-01-01
      相关资源
      最近更新 更多