Db_NoRecordExists错误消息被覆盖 - > addErrorMessage()

时间:2012-09-06 09:02:05

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

我的Db_NoRecordExists消息被addErrorMessage覆盖 代码:

$emailaddress = new Zend_Form_Element_Text('EmailAddress');
$emailaddress->setRequired(true)
             ->setAttrib('size', '30')
             ->addFilters(array('StringTrim', 'StripTags'))
             ->addValidator('EmailAddress',TRUE)
             ->setDecorators($decorators)
             ->addErrorMessage('Please Enter Va`enter code here`lid Values.')
             ->setAttrib('MaxLength',100)
             ->setAttrib('onkeyup','setUserName()')
             ->setAttrib('onkeypress','setUserName()')
             ->setAttrib('onfocus','setUserName()')
             ->setAttrib('onchange','setUserName()')
             ->setAttrib('Maxlength', '100');

$emailaddress ->class="textbox";

public function isValid($data)
{
    $this->getElement('EmailAddress')
         ->addValidator('Db_NoRecordExists', false, array(
             'table'=>'puntermaster',
             'field' => 'EmailAddress',
             'messages' => array(Zend_Validate_Db_Abstract::ERROR_RECORD_FOUND => 'A user with email address already exists'),
             'exclude' => array( 'field' => 'Sno', 'value' => $data['Sno'])
         ), TRUE);

   return parent::isValid($data);
}

1 个答案:

答案 0 :(得分:1)

如果使用addErrorMessage()addErrorMessages()向表单元素添加自定义错误消息,并且其中一个验证程序未通过验证,则将使用自定义错误消息而不是特定的验证程序错误消息

如果要覆盖表单元素的所有验证程序错误消息,请仅使用addErrorMessage

addErrorMessage的另一个用途是在您验证表单元素后调用它,并且您想添加稍后使用getErrorMessages()检索的自定义消息。