2012-04-16 4 views
1

Zend_Validate_Regexのカスタムエラーメッセージを設定する際に迷惑をかけています。Zend_Validate_Regexはカスタムエラーメッセージを設定できません

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

をいつも私は、デフォルトのエラーメッセージが表示されます。私も試してみました

$this->addElement('text', 'email', array(
    'label' => 'E-Mail', 
    'title' => 'email..', 
    'required' => true,   
    'validators' => array(
     array('Regex', 
      true, 
      array('/[A-Z0-9._%+-][email protected][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', 
      ) 
     ) 
    ) 
)); 

は、私はので、任意の助けをいただければ幸い構文で私の要素宣言を迷子にしています知っています。

答えて

0

私はフォームを作成するためにこのような方法が本当に好きです。カスタムメッセージは次のように正常に動作:

$form = new Zend_Form(); 
$regex = new Zend_Validate_Regex('/[A-Z0-9._%+-][email protected][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の正規表現のバリデータを使用していますか?

+0

は、それはまだ –

+0

@Barryハミルトンは、私の編集を参照してください。デフォルトのメッセージを返します。 – pltvs

+0

他のどこかの異なる値を比較する必要があります。 –

0

これを試してみてください:

$this->addElement('text', 'email', array(
    'label' => 'E-Mail', 
    'title' => 'email..', 
    'required' => true,   
    'validators' => array(
     array('Regex', 
      true, 
      array(
       '/[A-Z0-9._%+-][email protected][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', 
      ) 
     ) 
    ) 
)); 
関連する問題