我试图弄清楚如何在以下情况下使用 Codeigniter 表单验证库中的 is_unique
规则。
我正在尝试提交编辑用户表单并制定规则:
$this->form_validation->set_rules('user_name', 'User Name', 'required|trim|xss_clean|is_unique[users.user_name]');
如果正在更改表单中的其他值但此值保持不变怎么办?该表单将看到该值已经存在,因此如果该值未更改,我将如何保护它不被编辑。
原文由 Kevin Smith 发布,翻译遵循 CC BY-SA 4.0 许可协议
以您的代码为例,
is_unique
验证规则通过在您的users
数据库表中查找名为user_name
的字段来工作。如果存在具有相同值的字段,则它验证为 false。为了确保它仅在用户提交新值时运行,您可以检查发布的值
$this->input->post('user_name')
与您从数据库中提取的值以填充您的表单。如果相同,则不验证 is_unique;