Постараемся изо всех сил объяснить это …
В моем приложении мне нужно отображать ошибки проверки в форме, когда пользователь сначала загружает форму. Короче говоря, они ввели данные и сохранили их, но теперь данные были проверены, и мы обнаружили ошибки, которые им нужно исправить, прежде чем они смогут полностью отправить форму. (Это многоступенчатая форма, которая может быть заполнена на нескольких сеансах … думаю, большой.)
Раньше я делал что-то вроде:
ЭТО НЕ РАБОТАЕТ В СИММФОНИИ> = 2.8.10. См. Этот ответ
$entity // passed in as param on action method $form = $this->createForm(..., $entity); $csrfToken = 'random_string'; // retrieved from FormConfigInterface // perform the submit but don't clear missing $form->submit(['_token' => $csrfToken], false);
Это работало, но, похоже, сломалось в Symfony 2.8.10+, но работает в 2.8.9. В 2.8.10+ ошибок проверки нет (форма считается действительной).
Я могу получить ошибки проверки в ConstraintViolationListInterface
, но я не могу найти способ «объединить» это с формой (которая, я думаю, будет предпочтительным способом). Поскольку я не мог, я попробовал выше, что «подделка» представляет форму … которая кажется плохой идеей.
Есть ли лучший / правильный способ?
(Примечание: форма намного сложнее и включает в себя группы проверки … но меня это не касается или ошибка в 2.8.10+ на данный момент.)