Django验证格式化日期

时间:2014-08-04 17:05:18

标签: django jquery-ui django-forms

我在django表单上使用jquery.ui.datepicker。

我正在使用DateInput(format='%b %d, %Y')

格式化日期

在模型中,它被定义为:models.DateField(default=datetime.now, blank=True)

但格式为'2014年8月6日'的日期失败。如何在save方法表单上验证它?

1 个答案:

答案 0 :(得分:0)

您可以使用表单中的clean方法来检查字段。假设您将datefield称为mydate,您可以在表单中编写一个名为def clean_mydate(dict)的方法,并在那里检查日期并在需要时引发任何错误。

这是验证表单字段的正确方法。

https://docs.djangoproject.com/en/dev/ref/forms/validation/#cleaning-and-validating-fields-that-depend-on-each-other

或者,如果要覆盖表单保存方法,则需要在表单中添加以下内容:

def save(self, commit=True):
    instance = super(MyForm, self).save(commit=False)
    my_date= self.cleaned_data['mydate']
     // do some checks and raise errors
    if commit:
        instance.save()
    return instance