1
1
我不同意清理数据以存储在controller中,并且认为最好的地方是在model中,因为controller不应该知道数据是如何存储的,但是清理需要这些知识(例如。
为了防止像跨站点脚本之类的事情,在存储之前不要清理数据,因为稍后您可能会对某些HTML标记有一些合法的使用,并且在视图或控制器中(理想情况下)这样做。 |
2
2
您应该清理客户端视图上的数据和服务器端控制器上的数据。 |
3
2
严格地说,我会这么说, 消毒 您的数据应该出现在控制器中,但清理通常也指清理用户输入以避免许多问题,例如sql注入。因为您在不同的上下文中使用“sanitize”一词,所以我们必须更加注意上下文是什么。 你没有清理用户输入,这意味着它实际上不需要在控制器中发生。根据要保存的项是否已存在于数据库中,您正在更改此操作的结果。因此,在我看来,它应该发生在模型中(或者,正如munkiphd所指定的,在某种类型的helper类中有一个可以从任何地方调用的方法——但我说在模型中调用它)。 编辑:通常,在MVC中,模型知道是应该将新行保存到数据库中,还是根据模型实例是否具有有效的ID来更新现有行。如果模型具有ID,则应将其保存到由该ID索引的行中。如果没有,则模型将创建一个新的ID。我的理解是,您所要做的就是知道在哪里让它决定是创建一个新的还是更新一个现有的,而这发生在模型中。 |
4
1
不过,您可能希望从控制器中清理它,但“from”并不意味着“in”,需要一个单独的类来清理数据,这样您就可以从任何需要的地方调用该类。 您基本上想要创建一个契约,您的模型将一直收到良好的数据,这意味着您必须事先清理它。 |
Ali Özen · Laravel合并逻辑 6 年前 |
Dark Patate · QML:重新加载模型 6 年前 |
Wei Kang · 未找到Laravel eloquent模型类 6 年前 |
Ajay · 表格标题在UI5应用程序中不可见 6 年前 |
Romeo · KeystoneJS复数选项在AdminUI中不起作用 6 年前 |
Stacky · 默认的“SpringWeb”模型属性用法和文档 6 年前 |