Я теряю связь ошибки с полем формы в Symfony2

Моя проверка выглядит так:

Acme\UserBundle\Entity\User:
    constraints:
        - \Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity: { fields:username, message: "Username already in use" }
        - \Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity: { fields:email, message: "Email address already in use" }
    properties:
        username:
            - NotBlank: ~
            - MinLength: { limit: 2, message: "Your username must have at least {{ limit }} characters." }
        email:
            - Email:
                message: The email "{{ value }}" is not a valid email.
                checkMX: true

Мой контроллер выглядит так:

$form = $this->createForm(new RegistrationType());
$form->bindRequest($request);
if ($form->isValid()) {
    //... save to db
}else{
    $errors = $form->getErrors();
    //... pass the errors back as json
}

Я пытаюсь создать контроллер регистрации пользователей, который отправляется через запрос ajax. Однако, когда возникают ошибки при проверке, переменная $ error выглядит так:

[2011-11-07 19:19:44] app.INFO: array (
  0 => 
  Symfony\Component\Form\FormError::__set_state(array(
     'messageTemplate' => 'Email address already in use',
     'messageParameters' => 
    array (
    ),
  )),
  1 => 
  Symfony\Component\Form\FormError::__set_state(array(
     'messageTemplate' => 'Your username must have at least {{ limit }} characters.',
     'messageParameters' => 
    array (
      '{{ value }}' => '1',
      '{{ limit }}' => 2,
    ),
  )),
) [] []

Проблема в том, что я не знаю, какому полю соответствует эта ошибка. Есть ли способ найти эти данные, чтобы при отправке ответа json я мог связать сообщение об ошибке с соответствующим полем.

7
задан ed209 7 November 2011 в 19:25
поделиться