0

私の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);
}
4

1 に答える 1

1

addErrorMessage()またはを使用してフォーム要素にカスタム エラー メッセージを追加し、いずれかaddErrorMessages()のバリデータが検証に失敗した場合、バリデータ固有のエラー メッセージの代わりにカスタム エラー メッセージが使用されます

addErrorMessageフォーム要素に対するバリデーターのエラーメッセージをすべて上書きしたい場合にのみ使用してください。

のもう 1 つの用途はaddErrorMessage、フォーム要素を検証した後に呼び出すことです。後で で取得するカスタム メッセージを追加しますgetErrorMessages()

于 2012-09-06T17:47:52.187 に答える