2012-10-06 41 views
0

在Zend Framework中,我現在驗證在我的模型類的東西用戶提供的數據,如經過驗證錯誤在Zend框架控制器

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框架中的錯誤。

回答

1

可能iam不理解你的問題,但是我會從你的「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(); 
    } 
} 
+0

感謝您的答覆,在我的模型類的我也有一個名爲寄存器()的方法,所以我應該如何確保這種方法只會得到驗證從數據控制器。 – Tarun