1

Zend_Validate_Regex のカスタム エラー メッセージを設定する際に厄介な問題が発生しています。

私は構文で迷子になっていることを知っているので、私の要素宣言を助けていただければ幸いです:

$this->addElement('text', 'email', array(
    'label' => 'E-Mail',
    'title' => 'email..',
    'required' => true,           
    'validators' => array(
        array('Regex',
            true,
            array('/[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}/i'),
            'messages' => array(Zend_Validate_Regex::NOT_MATCH,
                'my not match message',
                Zend_Validate_Regex::INVALID  => 'my invalid message',
                Zend_Validate_Regex::ERROROUS => 'my errorous message',
            )
        )
    )
));

私も試しました:

'messages'=>array(
    'regexNotMatch'=>'Your own custom error message'
)

しかし、常にデフォルトのエラーメッセージが表示されます。

4

2 に答える 2

0

フォームを作成するこのオブジェクト指向の方法がとても気に入っています。カスタム メッセージは次のように正常に機能します。

$form = new Zend_Form();
$regex = new Zend_Validate_Regex('/[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}/i');
$regex->setMessages(array(
    Zend_Validate_Regex::NOT_MATCH => 'my not match message',
    Zend_Validate_Regex::INVALID   => 'my invalid message',
    Zend_Validate_Regex::ERROROUS  => 'my errorous message'
));
$el = new Zend_Form_Element_Text('email');
$el->setLabel('E-Mail')
    ->setRequired(true)
    ->addValidator($regex);
$form->addElement($el);

: なぜ EmailAddress の代わりに Regex バリデーターを使用しているのですか?

于 2012-04-16T10:57:23.020 に答える