我正在尝试向重复类型的邮件字段添加错误:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('lastname', 'text', array(
'required' => true,
'trim' => true,
'max_length' => 255,
'attr' => array('placeholder' => 'lastname',
)
))
->add('mail', 'repeated', array(
'type' => 'email',
'label' => 'email',
'invalid_message' => 'Les Emails doivent correspondre',
'options' => array('required' => true),
'first_options' => array('label' => 'email',
'attr' => array('placeholder' => 'ph_mail_first',
)),
'second_options' => array('label' => 'emailvalidation',
'attr' => array('placeholder' => 'ph_mail_second',
'requiered' => true
)),
'required' => true,
'trim' => true
))
}
public function getName()
{
return 'AddUser';
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'csrf_protection' => true,
));
}
这就是我在控制器中所做的事情:
$sMessage = $this->container->get('translator')->trans('error');
$oForm->get('mail')->addError(new \Symfony\Component\Form\FormError($sMessage));
此方法正在使用除此之外的其他字段,不会显示错误消息。我也试过
获取('mail.first')并获取('mail.first_options')
这很好用:
$sMessage = $this->container->get('translator')->trans('error');
$oForm->get('lastname')->addError(new \Symfony\Component\Form\FormError($sMessage));
答案 0 :(得分:1)
我设法找到了解决方法。我老实说不知道这是否是正确的解决方案,但它可以帮助有人解决这个问题。
$oForm['mail']['first']->addError(new \Symfony\Component\Form\FormError($sMessage));
答案 1 :(得分:0)
$oForm->get('mail')->get('first')