php – 在MVC项目中应该在哪里进行表单验证?

前端之家收集整理的这篇文章主要介绍了php – 在MVC项目中应该在哪里进行表单验证?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用Kohana,但我认为这个问题更为笼统.

我一直在控制器中进行表单验证,到目前为止它运行良好.但最近,我遇到了一个问题.

我有一个评论模型,我从几个不同的控制器发送评论.我没有在每个控制器中都有验证器,而是将它放在模型中.

这很棒,因为

>只有一个地方可以更改/添加验证规则(DRY)

这很糟糕,因为

>我显然需要向控制器返回成功或失败,Kohana的验证库将错误作为数组返回.所以我的回报看起来像这样

成功

array('success' => true);

失败

array('success' => false,$errors);

我不禁想到这是错的.感觉不对劲.

如果我在控制器中这样做,我可以做到

if ($post->validate()) {
     doWhatever();
} else {
     $this->template->formErrors = $post->errors('form_errors');
}

这似乎更好(对我来说).

有一个更好的方法吗?我应该在控制器或方法中验证吗?我疯了吗?

老实说,我认为你的方法没有任何问题,亚历克斯.看起来你正在做得很好.你遵循DRY原则,对我而言,这通常是衡量我在MVC做正确的事情的标准.
原文链接:https://www.f2er.com/php/137538.html

猜你在找的PHP相关文章