使用Symfony

时间:2016-01-28 15:33:27

标签: php forms validation symfony

对于我的对象的一个​​属性(newPSW),我在表单构建器中使用了重复的类型。

$builder->add('NewPSW', 'repeated', array(
            'type' => 'password',
            'invalid_message' => 'blablabla',
            'first_options' => array('label' => 'New password'),
            'second_options' => array('label' => 'Confirm password'),
            ))
        ));

如果我查看代码源,两个字段的名称是newPSW [first]和newPSW [second]

验证我的表单,我想向NewPSW属性添加自定义错误。 对于任何其他"正常"领域,我会这样做(而且效果很好):

$error = new FormError("What I want to say");
$form->get('object Property name')->addError($error);

我尝试使用此字段执行相同操作,但不显示错误消息。

Q1我必须在' get' $ form的方法添加错误?

我已经尝试过了:

$form->get('newPSW')->addError($error); (no error but nothing is displayed)
$form->get('newPSW[first]')->addError($error); (error : Child "newPSW[first]" does not exist)

1 个答案:

答案 0 :(得分:1)

您可以为重复字段的第二个字段提供自定义错误消息,如下所示:

$form->get('NewPSW')->get('second')->addError(new FormError('Oops! This is error message for confirm field'));