Проблема 1
Я хотел бы создать регистрационную форму с помощью отправки ajax. Регистрационные работы $form->isValid(). Однако, если форма не регистрируется, мне нужно вернуть эти ошибки через ajax.
if ($form->isValid()) {
}else{
$errors = $form->getErrors();
// return some json encoded errors here
}
$form->getErrors() возвращает пустой массив, даже если форма не прошла проверку (в этом случае я тестирую слишком короткое имя пользователя).
Проблема 2
Вторая проблема, с которой я сталкиваюсь, заключается в том, что если форма проверяется, но все еще возникает ошибка. Например, уникальное поле, для которого кто-то пытается отправить одно и то же значение.
if ($form->isValid()) {
$em = $this->getDoctrine()->getEntityManager();
$em->persist($form->getData());
$em->flush();
// error could be a username submitted more than once, username is unique field
}else{
// ...
}
Как я могу поймать эту ошибку и вернуть ее через json?