微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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.jb51.cc/php/137538.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐