Php 在哪里验证CodeIgniter中的数据控制器或模型

Php 在哪里验证CodeIgniter中的数据控制器或模型,php,model-view-controller,codeigniter,validation,Php,Model View Controller,Codeigniter,Validation,我知道CI这样做的方式是根据控制器中的规则进行验证,但我认为这不是最终的方法。您建议我如何遵循CI方式或验证模型中的传入数据,以便我的模型始终能够保护自己不受坏数据的影响。我对MVC的理解是,控制器不必保留任何程序逻辑,所有逻辑都在模型中实现。如果您能详细解释为什么这两种方法都是好的和不好的,以及推荐哪一种,我将不胜感激 干杯没有银弹 模型中的验证可以保护您免受程序无效源的影响。但是,用户无法直接访问您的模型,只能通过控制器并最终通过表单进行访问。大多数情况下,您需要额外的验证,这是特定于某个窗

我知道CI这样做的方式是根据控制器中的规则进行验证,但我认为这不是最终的方法。您建议我如何遵循CI方式或验证模型中的传入数据,以便我的模型始终能够保护自己不受坏数据的影响。我对MVC的理解是,控制器不必保留任何程序逻辑,所有逻辑都在模型中实现。如果您能详细解释为什么这两种方法都是好的和不好的,以及推荐哪一种,我将不胜感激


干杯

没有银弹

模型中的验证可以保护您免受程序无效源的影响。但是,用户无法直接访问您的模型,只能通过控制器并最终通过表单进行访问。大多数情况下,您需要额外的验证,这是特定于某个窗体或某个控制器的,并且在模型中是不合适的

这就需要在模型之外进行一层验证。理想情况下,您可以创建一个单独的验证对象(可能绑定到特定的表单),供控制器使用。有时,您可能需要在控制器本身中进行额外的验证


验证不是二进制的。在不同的上下文中,有许多验证层次和不同类型的验证。您可能需要在模型和控制器中进行验证。

没有银弹

模型中的验证可以保护您免受程序无效源的影响。但是,用户无法直接访问您的模型,只能通过控制器并最终通过表单进行访问。大多数情况下,您需要额外的验证,这是特定于某个窗体或某个控制器的,并且在模型中是不合适的

这就需要在模型之外进行一层验证。理想情况下,您可以创建一个单独的验证对象(可能绑定到特定的表单),供控制器使用。有时,您可能需要在控制器本身中进行额外的验证

验证不是二进制的。在不同的上下文中,有许多验证层次和不同类型的验证。您可能需要在模型和控制器中进行验证。

可能重复:可能重复: