Проблема 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?