我正在尝试使用两种不同的输入表单验证日期。我不知道我做错了什么。
表格.py
class ReportForm(forms.ModelForm):
manual_date = forms.DateField(input_formats=['%m/%d/%Y','%d/%m/%Y'],
widget=forms.DateInput(attrs={'size':'15','id':'datepicker'},format=["%m/%d/%Y","%d/%m/%Y"]))
manual_time = forms.TimeField(input_formats=['%H:%M','%I:%M %p'],
widget=forms.TimeInput(attrs={'size':'8','class':'time_field'},format=["%H:%M","%I:%M %p"]))
def clean(self):
cleaned_data = self.cleaned_data
manual_date = cleaned_data.get('manual_date')
manual_time = cleaned_data.get('manual_time')
if manual_date != strftime('%d %b %Y') and strftime('%b %d %Y'):
raise ValidationError('Enter a valid date')
return cleaned_data
模板:
{{ ReportForm.manual_date }}{{ ReportForm.manual_date.errors }}
{{ ReportForm.manual_time }}{{ ReportForm.manual_time.errors }}
我收到此错误“全局名称'strftime' is not defined"
,我当然不知道我所做的方法是否正确。
我想验证这两种格式的日期和时间。如果用户选择dd/mm/yyyy
格式,它应该以该格式验证,如果选择的日期是mm/dd/yyyy
它应该以该格式验证日期。请指导我如何在 clean() 方法中实现。