В Symfony 2.5.10 у меня есть несколько типов форм, каждый со своими собственными группами проверки, вызывающий различные ограничения класса. Каждый тип представляет собой конкретный шаг в рабочем процессе. Последний шаг выполняет итерацию по всем другим этапам, выполняет необходимую проверку и отображает любые возможные нарушения для пользователя.
Данные за каждым типом формы (data_class) всегда одинаковы: объект doctrine.
Каждое отображаемое нарушение ссылается на URL/путь, представляющий рассматриваемый шаг, с дополнительным параметром, который при наличии должен запускать проверку. Идея состоит в том, что форма должна отображать ошибки немедленно, без отправки. Другими словами, я хочу запрограммировать отправку формы программно (серверная, а не JS!).
Я пробовал разные способы:
Любая помощь приветствуется. Я тратил stackoverflow и сеть в целом, но безрезультатно.
Первый способ выглядит хорошо. Вы просто должны проверить форму ajax, и они просто используют что-то вроде
$entity = $form->getData()
для извлечения данных из формы (которые могут быть массивом, сущностью или некоторым другим материалом, который у вас есть в вашей форме).
Затем просто передайте этот объект в представление twig, чтобы сформировать ответ запроса. Наряду с сущностью вы можете захотеть предоставить ошибки формы, полученные из $form->createView()
FormView.