Zend Framework中的链接错误消息

时间:2012-08-08 22:41:35

标签: zend-framework zend-form zend-form-element

似乎使用addErrorMessage()会覆盖所有其他验证错误。

例如,我创建了一个自定义手机元素。我还创建了一个自定义验证类,用于检查自定义业务规则。 我希望它在不符合自定义业务规则时从My_Validate_BusinessPhone打印出错误消息。但它始终在addErrorMessage()中打印消息集。这是正常行为吗?有没有办法将错误消息链接起来?

$phone = new My_Form_Element_Phone( 'phone' );   
$phone->setRequired( TRUE )
    ->setAttrib( 'id', 'phone' )
    ->addErrorMessage( 'Please provide a valid phone number' )
    ->addValidator( new My_Validate_BusinessPhone );

我提前感谢你。

1 个答案:

答案 0 :(得分:0)

消息被覆盖,因为您将消息设置为表单元素而不是验证器。这就是它应该如何工作:首先,获取你的表单元素。在你的情况下,只需使用它。其次,按名称获取验证器(我不知道它在这里如何被称为,例如它可能是'notEmpty'),第三,为此验证器添加您的消息。

$phone->getValidator('yourValidatorsName')->setMessage('Please provide a valid phone number');

我刚刚在自己的脚本中对此进行了测试,但我希望它能够正常运行; - )