【问题标题】:Codeigniter - Data for database from Input class or Form Validation class?Codeigniter - 来自输入类或表单验证类的数据库数据?
【发布时间】:2012-02-09 12:33:39
【问题描述】:

我正在构建我的第一个 CodeIgniter 应用程序 - 并且有一个注册表单。我正在使用内置的表单验证类来验证数据,并且正在将该数据添加到数据库中。

我应该从表单验证类还是从输入类 ($this->input->post('username')) 获取数据?

我猜正确的方法来自输入类,但只是想确定一下。如果是这种情况,在将数据插入数据库之前是否需要对数据进行任何准备,例如“trim”?

谢谢

【问题讨论】:

    标签: database validation codeigniter


    【解决方案1】:

    是的,您将从输入类中获取数据。通过将trim 添加到验证规则集,可以使用表单验证库来完成诸如trim() 之类的操作。验证完成后,您的数据就可以插入数据库了。

    【讨论】:

    • 啊,我没有意识到表单验证规则也在输入类中准备了数据 - 我认为它们被保存为单独的数据对象。谢谢
    【解决方案2】:

    我一直使用$this->input->post('lalal'); 并发现它可以工作,因为当我使用这些值时验证已经完成。但是您也可以使用 set_value('lalal'); 辅助函数,如果您发现错误但不希望用户再次输入每个表单字段,而只输入有错误的那个,这将特别有用。

    您的数据准备应该在验证规则中,您可以添加任何带有一个参数的 php 函数,即修剪,如果在验证发生时加载它们,您也可以调用 CI 提供的辅助函数。而且您拥有 CI 的内置验证类。

    欲了解更多信息,请查看:http://codeigniter.com/user_guide/libraries/form_validation.html#thecontroller

    【讨论】:

    • 感谢 Anton - 如果我可以将两个答案都标记为正确,我会的! :)
    猜你喜欢
    • 2016-05-17
    • 2020-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-14
    • 2015-09-24
    • 2019-06-26
    • 1970-01-01
    相关资源
    最近更新 更多