У меня есть основная форма, которая включает в себя ряд подчиненных форм. Одна из подформ содержит пару полей даты для ввода диапазона дат. Я создал классы сущностей и классы форм и соответствующим образом обновил services.yml.
Форма отображается нормально. Проблема в том, что поля даты не проверяются при отправке формы. Я могу оставить их пустыми или поместить в них все, что мне нравится, и я никогда не получаю ошибку проверки. Я протестировал проверку поля даты в форме верхнего уровня, и она сработала, как и ожидалось.
Для тестирования я создал простую форму и подчиненную форму. Основная тестовая форма имеет два поля: текстовое поле и поле подчиненной формы. Подформа имеет два поля: поле даты и поле флажка.
Что касается реального случая, я создал классы сущностей и форм и обновил services.yml. Форма отображается нормально. Поле даты не генерирует ошибок, когда форма отправляется с неверной датой.
Я попытался указать проверку с помощью аннотаций в классах сущностей, атрибут ограничений в вызове метода $builder->add() и то и другое одновременно ;-)
Текущий вызов add() для поля даты выглядит следующим образом:
...
->add( 'date',
'date',
[
'attr' => [ 'placeholder' => 'a date (mm/dd/yyyy)' ],
'error_bubbling' => true,
'format' => 'MM/dd/yyyy',
'html5' => false,
'input' => 'datetime',
'invalid_message' => 'Invalid date (use mm/dd/yyyy)',
'label' => false,
'widget' => 'single_text',
'constraints' =>
[
new NotBlank(),
new Type( '\DateTime' )
]
] )
...
Предложения?
Среда:
— PHP V5.5.9
— Symfony V2.7.4
— Twig V1.21.2