就像问题标题中所描述的那样 - 我想为除NoRecordExists之外的所有验证器提供默认错误消息。
在下面的示例代码中,似乎自定义消息会覆盖所有其他验证器消息,例如,如果第二个条件失败(Alnum),用户将收到“Username already used”错误消息。
$username= new Zend_Form_Element_Text('username');
$username->setLabel('User name:')
->setRequired(TRUE)
->addValidator('NotEmpty',TRUE)
->addValidator('Alnum',TRUE)
->addValidator(new Zend_Validate_Db_NoRecordExists(array(
'table'=>'users',
'field'=>'username'
)))
->addErrorMessages(array(
Zend_Validate_Db_NoRecordExists::ERROR_RECORD_FOUND=>'Username already used'
));
答案 0 :(得分:1)
尝试将其作为验证程序调用的一部分,如下所示:
$username= new Zend_Form_Element_Text('username');
$username->setLabel('User name:')
->setRequired(TRUE)
->addValidator('NotEmpty',TRUE)
->addValidator('Alnum',TRUE)
->addValidator(new Zend_Validate_Db_NoRecordExists(array(
'table'=>'users',
'field'=>'username',
'messages' => array(
Zend_Validate_Db_NoRecordExists::ERROR_RECORD_FOUND=>'Username already used')
)));
这样消息只与此验证器相关联。