我正在为我的表单设置新规则,即使表单字段不是空的,我仍然会陷入验证检查块
验证功能:
if (isset($_POST['action']) && $this->input->post('action') === "add_category") {
echo "<pre>";
print_r($_POST);
$this->form_validation->set_rules($this->input->post('cat_name'), 'Category Name', 'required');
if ($this->form_validation->run() === FALSE) {
echo "false";
exit;
}
else {
echo "true" ; exit;
}
}
Array
(
[action] => add_category
[cat_name_] => gbddbd
[parent_cat] => 1
[cat_status] => 1
)
false
我在我的视图中创建简单的HTML
表单,而不是使用CI form helpers
有一个错误,你如何使用set_rules()
正确的方法是:
$this->form_validation->set_rules('cat_name','Category Name', 'required')
explain: set_rules()的第一个参数指示要验证的输入字段的名称。在您的代码中,您试图分配输入字段的值,而不是名称
您正在为"cat_name"设置规则,而表单字段是"cat_name",因此失败。将表单字段名更改为"cat_name"