Я пытаюсь добавить EWZRecaptcha в свою регистрационную форму. Мои регистрационная форма строители выглядят примерно так:Symfony2 добавить поле reCaptcha в регистрационную форму
public function buildForm(FormBuilder $builder, array $options)
{
$builder->add('username', 'text')
->add('password')
->add('recaptcha', 'ewz_recaptcha', array('property_path' => false));
}
public function getDefaultOptions(array $options)
{
return array(
'data_class' => 'Acme\MyBundle\Entity\User',
);
}
Теперь, как я могу добавить ReCaptcha Constraint в поле капчи? Я попытался добавить это validation.yml:
namespaces:
RecaptchaBundle: EWZ\Bundle\RecaptchaBundle\Validator\Constraints\
Acme\MyBundle\Entity\User:
...
recaptcha:
- "RecaptchaBundle:True": ~
Но я получаю Property recaptcha does not exists in class Acme\MyBundle\Entity\User
ошибку.
Если удалить array('property_path' => false)
из вариантов поле ReCaptcha, я получаю ошибку:
Neither property "recaptcha" nor method "getRecaptcha()" nor method "isRecaptcha()"
exists in class "Acme\MyBundle\Entity\User"
Любая идея, как решить эту проблему? :)
Отличная статья, спасибо! – tamir
Поскольку Symfony 2.1, 'mapped = false' следует использовать вместо' property_path = false', см. Http://symfony.com/doc/current/reference/forms/types/form.html#property-path и http: //symfony.com/doc/current/reference/forms/types/form.html#mapped, соответственно. –