出於某種原因,其沒有得到您的實體中調用,所以嘗試在buildForm()
方法添加驗證約束
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('nombre')
->add('apellidos')
->add('email', 'email', array('label' => 'Correo electrónico', 'attr' => array(
'placeholder' => '[email protected]'
)))
->add('password', 'repeated', array(
'type' => 'password',
'invalid_message' => 'Las dos contraseñas deben coincidir',
'first_options' => array('label' => 'Contraseña'),
'second_options' => array('label' => 'Repite Contraseña'),
'required' => true,
'constraints' =>array(new Assert\Length(array('min' => 6,'message'=>'La contraseña debe tener al menos {{ limit }} carácteres')))
))
->add('fechaNacimiento', 'birthday', array('required'=> false, 'widget' => 'single_text'))
->add('dni')
->add('newsletter', 'checkbox', array('required' => false));
}
不要忘記你的窗體類前添加使用
use Symfony\Component\Validator\Constraints as Assert;
有你嘗試使用validation.yml而不是assert? http://symfony.com/doc/current/book/validation.html 我有一種感覺斷言只有當你保存一個實體的作品。 –