У меня есть форма (визуализированная с хрустящими формами), которую я определяю в forms.py:
class Meta:
model=HousingRequest
fields = ('off_site_location', 'notes', 'checkin_date', 'checkout_date', 'purpose_of_visit', 'project_for_visit')
widgets = {
#'room' : TextInput(attrs={'tabindex':'1', 'placeholder':'Trainee First Name'}),
#'user' : TextInput(attrs={'tabindex':'1', 'placeholder':'Trainee First Name'}), #these are really already from who is logged in?
#'male': TextInput(attrs={'tabindex':'3', 'placeholder':'Trainee''s Institution'}), #we might get this from who is logged in also
'off_site_location' : TextInput(attrs={'tabindex':'4', 'placeholder':'Offsite location'}),
'off_site_phone' : TextInput(attrs={'tabindex':'5', 'placeholder':'Contact Phone'}),
'notes' : TextInput(attrs={'tabindex':'5', 'placeholder':'notes'}),
'checkin_date':DateInput(attrs={
'class':'datepicker form-control',
'tabindex' : '6',
'placeholder' : 'Checkin Date MM/DD/YYYY',
'autocomplete':'off',
}, format='%b %d, %Y'),
...etc...
Формат, который я установил: 25 октября 2019
Отлично. Мой сборщик дат теперь возвращает этот формат (когда в другой форме он возвращался 25.10.2009) он определен в моей базе. html
<script type="text/javascript">
$(function() {
var j = jQuery.noConflict();
j('.dateinput').datepicker({ dateFormat: "M dd, yy" });
});
</script>
Хорошо, поэтому я нажимаю в поле дата сборщик подходит. Выберите его, я получаю:
25 октября 2019
Я иду, чтобы сохранить форму, в поле написано «Введите правильную дату».
Не знаю, где и почему проверка не удается.
Вся причина этого кроется в другой форме, использующей простое:
<td> {{ hou.checkin_date}} </td>
Оно отображалось как 25 октября 2019 года при загрузке (из объекта django, переданного в шаблон)
Который при вызове средства выбора даты (через javascript) заменял эту дату на 25.10.2009, и это вызывало резкий удар (часть, отправленная обратно через ajax, сохранялась просто хорошо без ошибок проверки). Итак, теперь я обновил этот указатель даты выше, чтобы иметь формат, указанный 25 октября 2019 года, так что моя форма ajaxy, которая просто отображает hou.checkin_date, прекрасно работает! Выглядит великолепно ...
теперь старая форма порвалась с проверкой данных, описанной в виджетах выше ...
Так что не уверен, почему он продолжает указывать неверную дату.