加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 13:28:47 所属栏目:PHP教程 来源:网络整理
导读:我正在使用Kohana,但我认为这个问题更为笼统. 我一直在控制器中进行表单验证,到目前为止它运行良好.但最近,我遇到了一个问题. 我有一个评论模型,我从几个不同的控制器发送评论.我没有在每个控制器中都有验证器,而是将它放在模型中. 这很棒,因为 只有一个地方
我正在使用Kohana,但我认为这个问题更为笼统.

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

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

这很棒,因为

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

这很糟糕,因为

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

成功

array('success' => true);

失败

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

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

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

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

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

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读