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() 让控制器从模型中获取错误消息,但是我必须在我的每个模型类中创建这个方法,这会导致冗余,所以我应该创建另一个像 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 回答