【发布时间】:2011-06-23 00:39:23
【问题描述】:
我正在开发我的第一个 CodeIgniter 应用程序,在处理发布数据时遇到了一些困惑。
更具体地说,我了解$this->form_validation->set_rules() 的作用,以及set_value() 在验证失败时如何重新填充输入值,但我无法弄清楚$this->input->post 是否与@ 相同的值987654324@ 等价物。
我知道大多数验证规则都会有一个布尔结果,但是像trim|htmlspecialchars 这样的规则呢?这些也有利于为数据库查询准备数据。
所以在我的模型中,我可以在表单验证库处理后访问输入,还是应该在模型内部直接对$this->input->post('variable') 进行额外准备?
我的直觉告诉我,我应该在模型中的 SQL 之前添加像 htmlspecialchars 这样的最终处理,因为它实际上是一个特定于数据库的操作(我不希望在我的表单输入中使用 & 而不是 & ,但我希望数据库中有&)。
顺便说一句,在我的阅读中,我确实遇到了$this->validation->variable,这似乎是我在以前的 CI 版本中的问题的答案。
【问题讨论】:
-
Yes(set_value) 如果您使用它来使表单保持粘性或重新填充,它将与 ($this->input->post) 的值相同。它还用于使用来自数据库的数据填充更新表单。
标签: php validation codeigniter