即使输入了数据,代码点火器表单验证也会返回false

时间:2014-05-27 22:03:03

标签: php codeigniter validation

我正在为表单设置新规则,即使表单字段不为空,我仍然会陷入验证检查块

验证功能:

    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的帮助

2 个答案:

答案 0 :(得分:0)

您正在为&#34; cat_name&#34;设置规则表格字段是&#34; cat_name _&#34;所以它失败了。将表单字段名称更改为&#34; cat_name&#34;

答案 1 :(得分:0)

您使用set_rules()

时出错

正确的方法是:

$this->form_validation->set_rules('cat_name','Category Name', 'required')

说明: set_rules()的第一个参数表示您要验证的输入字段的名称。在您的代码中,您尝试分配输入字段的值,而不是名称