2010-12-10 9 views
0

私の入力要素を検証するために以下のコールがあります。zendコールバックでカスタマイズされたメッセージを確認します

class Validator_FormValidator { 
    public function genValid($value){ 

     $chainValid = new Zend_Validate(); 

     $strLenV = new Zend_Validate_StringLength(array('min' => 4, 'max' => 10)); 
     $strLenV->setMessage("You have entered a Invalid value","stringLengthInvalid"); 
     $chainValid->addValidator($strLenV); 

     return $result; 
    } 

} 

と、インデックスコントローラ

public function indexAction() 
    { 
     $this->view->form = new Form_LoginForm(); 
     $this->view->registrationForm = new Form_RegistrationForm(); 

     if($this->getRequest()->isPost()) { 
      $validatorObj = new Validator_FormValidator(); 
      $valid = new Zend_Validate_Callback(array($validatorObj,'genValid')); 
      $username = $this->_getParam('username');   

      if ($valid->isValid($username)) { echo 'success'; } 
      else { 
       echo 'failure'; 
       foreach ($valid->getMessages() as $message) { 
        echo "$message\n"; 
       } 

      } 
     } 
    } 

に今、私は私のコントローラの故障状態で表示されていない私のValidator_FormValidatorクラスにカスタマイズされたエラーメッセージを追加しようとしています。 あなたの誰もがこれを行う方法をガイドできますか?これは私がやろうとしていることです(別のバリデータークラスを作成し、それにすべてのバリデーション関数を入れるのは良い方法ですか?

+0

私は検証のためにzendx jqueryを使うことができると思います。 – Developer

答えて

1

独自の方法を作成する通常の方法は、Zend_Validate_Abstractまたは既存のバリデーターの任意のクラスを拡張することです(例:custom validate)。 Zend_Validate_StringLength。このようにして、検証プロセスだけでなく、すべてのプロパティをカスタマイズすることができます。メッセージ。

関連する問題