控制器以MVC模式存在以处理用户输入和输出。因此,输入验证和响应准备应该在控制器中完成。
例如,我有一个控制器方法“保存”:
save()
方法所有这些序列都会造成相当混乱的线性代码。我想以某种方式将它分开。我是否将验证部件移动到模型中?听起来不对?我是否创建了一个特殊的“库”类来处理输入?
在Asp.Net MVC中,这会更好,因为他们已经实现了“对象绑定”模式。因此,验证和模型字段绑定消失,控制器变得更轻。 CodeIgniter有类似的东西吗?
答案 0 :(得分:2)
控制器进行验证并不被广泛接受,我在模型中按照“让你的模型变胖,控制器变薄,观看愚蠢”这样做。
这取决于业务逻辑什么是有效的电话号码等等,所以我只有在模型中才有意义。
答案 1 :(得分:1)
我会完全按照您的意愿行事,并尽可能多地将逻辑放入您的模型中。控制器确实应该用于启动服务和为视图准备数据。
你应该重复使用代码,即验证器,过滤器等。