Вопрос по symfony, symfony-forms – Symfony 2: добавить пользовательский элемент формы, а не в сущности
Я работаю с Symfony2 и хотел бы создать регистрационную форму. Я не хочу использовать FOSUserBundle.
Итак, я создаю учетную запись Entity (с полями: имя пользователя, пароль, адрес электронной почты ...) и создаю форму:
$account = new Account();
$form = $this->createFormBuilder($account)
->add('username', 'text', array('label' => 'Nom de compte :'))
->add('password', 'password', array('label' => 'Mot de passe :'))
->add('email', 'email', array('label' => 'Adresse email :'))
->getForm();
Теперь я хочу добавить поле подтверждения для пароля. Но когда я пытаюсь добавить поле с помощью метода add (), например & quot; password_confirmation & quot; У меня есть это :
Neither property "password_confirmation" nor method "getPasswordConfirmation()" nor method "isPasswordConfirmation()" exists in class "App\FrontBundle\Entity\Account"
Как я могу добавить пользовательское поле? И после, как проверить это?
Спасибо. BR.
property_path
устарела, и вместо этого вы должны использоватьсопоставляются, Синтаксис остается прежним:
->add('password_confirmation', 'password', array('mapped' => false))
что * password_confirmation * не является частью объекта, используяproperty_path вариант.
->add('password_confirmation', 'password', array('property_path' => false))
И затем, чтобы подтвердить это сCallBackValidator.
Butв этом конкретном случае, когда вы хотите повторить поле,повторный Виджет может сделать это за вас.
->add('password_confirmation', 'repeated', array(
// See the docs :)
));
->add('password_confirmation', 'password', array('mapped' => false));