ZendFramework:放置验证和过滤规则的最佳位置

时间:2013-05-22 17:11:40

标签: validation filter

我想在保存之前验证和过滤值,例如,转换为大写,删除空格,删除重音,验证有效的电子邮件地址等。

想法:

  1. 使用Zend_Form :我不喜欢这个想法,因为验证和过滤的唯一方法是在表单中,但如果值来自其他地方,如WebService或内部过程,则验证和过滤器将不适用。
  2. 使用控制器中的验证:这是一个解决方案。在传递给Model之前验证并过滤Params数组。
  3. 使用模型中的验证:这是另一种解决方案。
  4. 您怎么看?

1 个答案:

答案 0 :(得分:0)

我个人创建了一个处理表单的类。所以我在控制器中称它为:

$request     = $this->getRequest();
$fp          = new FormProcessor($this->db);

if ($request->isPost()) 
                $fp->process($request);   

流程方法将完成这样的工作:

public function process(Zend_Controller_Request_Abstract $request)
{       
       $this->title = $request->getPost('title');
}

希望这会对你有所帮助。