0

Zend Frameworkでは、モデルクラスでユーザーが提供したデータを次のように検証しています

public function valiateRegisterForm($regisInfo)
{
   //validating with zend_filter_input which on failure returns array of arrays i.e
  //(error code to array of error messages) 
}

現在、コントローラーがモデルからエラーメッセージをフェッチできるようにする getErrorMessage() メソッドをもう 1 つ作成していますが、すべてのモデルクラスでこのメソッドを作成する必要があるため、冗長性が生じるため、ErrorManager のような別のオブジェクトを作成する必要がありますか?

私には、適切な方法で物事に従っていないように
思えますが、zend フレームワークでエラーを処理するための良い方法を提案してください。

4

1 に答える 1

1

あなたの質問を理解していない可能性がありますが、「validateRegisterFrom」メソッドから Zend_Filter_Input オブジェクトを返します。オブジェクトには、検証エラーを返す「getMessages」メソッドがあります。

public function valiateRegisterForm($regisInfo)
{
      $filters = array();
      $validators = array();

      $input = new Zend_Filter_Input($filters, $validators, $regisInfo);

      // do validating

      return $input;
 }

そしてあなたのコントローラーで

public function whateverAction()
{
     $result = $My_Model_Register->validateRegisterForm($data);

     if ($result->hasInvalid()) {
         $errors = $result->getMessages();
     }
}
于 2012-10-07T05:27:29.710 に答える