Получение форматов даты и времени для сопоставления с полем формы jquery datetimepicker и symfony
Формат даты и времени по умолчанию в поле даты и времени Symfony: yyyy-MM-dd HH:mm:ss
для моей страны. Это не очень удобно для пользователя, поэтому я хотел бы изменить его на длинный формат даты. Я также использую jquery datetimepicker после загрузки страницы, чтобы помочь пользователям выбрать правильную дату / время.
Я не могу заставить форматы даты совпадать, и Symfony считает данные, которые были возвращены, как действительную дату.
Код контроллера для формы:
$form = $this->createFormBuilder($auction)
->add('endDate', DateTimeType::class, array(
'view_timezone' => $user->getTimeZone(),
'widget' => 'single_text',
'format' => \IntlDateFormatter::FULL
))
->add('save', SubmitType::class, array('label' => 'Create Auction', 'attr'=> array('class'=>'button primary')))
->getForm();
Посмотреть код для выбора даты и времени:
$(document).ready(function(){
$.datetimepicker.setDateFormatter({
parseDate: function(date, format){
var d = moment(date, format);
return d.isValid() ? d.toDate() : false;
},
formatDate: function(date, format){
return moment(date).format(format);
}
});
$("#form_endDate").datetimepicker({
format: 'dddd, MMMM D, YYYY h:mm:ssa',
formatDate: 'dddd MMMM D, YYYY',
formatTime: 'h:mm a'
});
});
Я также попытался использовать тот же текст в контроллере, чтобы соответствовать формату в инициализации datetimepicker:
'format' => 'dddd, MMMM D, YYYY h:mm:ssa'
Но это не помогает. В журналах тоже ничего нет, поэтому я не знаю, как еще устранить неполадки.
Как сделать так, чтобы эти форматы совпадали, чтобы введенный пользователем ввод был действительным?
1 ответ
Ваш формат, в вашем formbuilder неверен. Согласно документации: http://symfony.com/doc/current/reference/forms/types/date.html
Формат должен быть указан следующим образом:
$builder->add('date_created', DateType::class, array(
'widget' => 'single_text',
// this is actually the default format for single_text
'format' => 'yyyy-MM-dd',
));
Вы можете просмотреть все допустимые форматы здесь: http://userguide.icu-project.org/formatparse/datetime