2011-07-06 7 views
0

Zend Frameworkの書籍では、固有の電子メールアドレス用のカスタムバリデーターが出回っています。バリデーターはZend_Validate_Abstractを拡張し、したがってisValid()インターフェースを実装します。

インターフェイスでは、メソッドシグネチャはisValid($ value)です。具体的なクラスでは、isValid($ value、$ context = null)です。

著者は、$ context変数に$ _POST配列が含まれており、メソッド実装の配列の値に依存していると説明しています。ただし、コードを再現しようとすると、$ context配列がnullになります。さらに、私はZend_Validationリファレンスガイドで$ contextへの参照を見つけることができず、$ _POST値を渡すこともできません。

他に誰かがこれを見つけましたか?

ところで、この本はKeith PopeのZend Framework 1.8 Web Application Developmentです。

ありがとうございます!

答えて

2

ここZend_Form_Element::isValid方法

と共に使用した場合$context配列が渡され、通常それはのドキュメントのように見えるZend_Form::isValid

  foreach ($value as $val) { 
       if (!$validator->isValid($val, $context)) { 
        $result = false; 
        if ($this->_hasErrorMessages()) { 
         $messages = $this->_getErrorMessages(); 
         $errors = $messages; 
        } else { 
         $messages = array_merge($messages, $validator->getMessages()); 
         $errors = array_merge($errors, $validator->getErrors()); 
        } 
       } 
      } 
+0

おかげブレイディ、素敵な1のためのマニュアルに記載されて... –

1

から受信さ$contextとして$_POSTを通過するZend_Form_Element::isValidからの抜粋でありますZend_Validateが不完全です。

この動作は、Zend_Form_Element(CTL-F "の検証コンテキスト")

関連する問題