我正在使用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