Tengo una entidad de usuario Doctrine que estoy tratando de agregar validadores de formulario para el formulario de registro, pero no se activan para el formulario de registro bajo ninguna condición.Las restricciones de validación no desencadenan el formulario de registro
Mi usuario entidad:
namespace JMSHockey\AppBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Security\Core\User\AdvancedUserInterface;
use Symfony\Component\Validator\Constraints as Assert;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
/**
* My\AppBundle\Entity\User
*
* @ORM\Table(name="user")
* @ORM\Entity(repositoryClass="My\AppBundle\Entity\UserRepository")
* @UniqueEntity(fields={"email"}, message="Sorry, this email address is already in use.", groups={"registration"})
* @UniqueEntity(fields={"username"}, message="Sorry, this username is already taken.", groups={"registration"})
*/
class User implements AdvancedUserInterface,\Serializable
{
/**
* @var integer $id
*
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @var string $email
*
* @ORM\Column(name="email", type="string", length=75, nullable=false)
* @Assert\Email()
* @Assert\NotBlank()
*/
private $email;
/**
* @var string $username
*
* @ORM\Column(name="username", type="string", length=75, nullable=false)
* @Assert\NotBlank()
*/
private $username;
...
}
Aquí es mi forma UserType:
namespace My\AppBundle\Form\Type;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
class UserType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('email','email');
$builder->add('username','text');
...
}
public function getDefaultOptions(array $options)
{
return array(
'data_class' => 'My\AppBundle\Entity\User',
'validation_groups' => array('registration'),
);
}
public function getName()
{
return 'user';
}
}
Y, por último, el formulario de inscripción:
namespace My\AppBundle\Form\Type;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
class RegistrationType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('user', new UserType());
}
public function getName()
{
return 'registration';
}
}
Parece que debo estar perdiendo algo obvio aquí, pero entre el manual de Symfony y los recursos que he encontrado en línea, no he podido armine lo que es.
¿Ha [Enabled] (http://symfony.com /doc/current/book/validation.html#configuration) anotaciones para la validación? – meze
Sí, tengo 'validation: {enable_annotaciones: true}' establecido en mi config.yml en la sección de framework. –
¿Ha intentado establecer específicamente cascade_validation en su RegistrationType? – m0c