在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框架错误的好方法。
答案 0 :(得分: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();
}
}