Я пишу свой собственный класс CAPTCHA, и когда форма не проверяется, я не хочу предварительно заполнять вкладку captcha с предыдущим ответом по очевидным причинам. Я просто хочу очистить ввод до его отображения.
Я обнаружил, что параметр данных предназначен только для значения по умолчанию, которое перезаписывается тем, что вводит пользователь. Я попробовал следующий код:
$form->get('captcha')->setData(null);
.. После того, как запрос связан с формой, вызывается AlreadyBoundException
. Мне действительно удалось заставить его работать с:
if (isset($formView->children['captcha'])) {
$formView->children['captcha']->vars['value'] = null;
}
Но это просто выглядит неправильно, и определенно не соответствует стандартам Symfony. Я просмотрел другие параметры, которые вы можете предоставить при создании формы, но я не вижу ничего примечательного.
Есть ли у кого-нибудь идеи?
Кстати, я ожидаю, что Symfony2 поставляется в комплекте с решением CAPTCHA, это в основном учебное упражнение, в то время как я привык к структуре.