【问题标题】:How to allow empty or numeric values in codeigniter's form_validation class?如何在 codeigniter form_validation 类中允许空值或数值?
【发布时间】:2012-01-12 08:32:46
【问题描述】:

我想使用 form_validation 类验证输入,这样我就可以在字段中输入数字或空值。
像这样的:

$this->form_validation->set_rules('field[]','The field','numeric or empty|xss_clean');

这有可能实现吗?

【问题讨论】:

    标签: php codeigniter validation


    【解决方案1】:
    $this->form_validation->set_rules('field[]', 'The field', 'numeric|xss_clean');
    

    理论上这应该足够了,因为该字段尚未设置为必需。

    【讨论】:

    • 但是,它返回给我错误。可能是 Codeigniter 的错误?我正在使用 2.0.3
    【解决方案2】:

    但是,它返回给我的错误

    然后也许是一个额外的步骤:

    if (!empty($this->input->post('field[]')))
    {
        $this->form_validation->set_rules('field[]', 'The field', 'numeric|xss_clean');
    }
    

    【讨论】:

    • @sunpietro -- 你有机会测试一下吗?
    【解决方案3】:

    10位电话号码:

     $this->form_validation->set_rules('mobile', 'Mobile Number ', 'required|regex_match[/^[0-9]{10}$/]'); //{10} for 10 digits number
    

    【讨论】:

      【解决方案4】:

      我认为您的意思是“使用数组作为字段名称”

      你可以看看this page

      【讨论】:

        【解决方案5】:
        $this->form_validation->set_rules('field[]','The field','is_natural|trim|xss_clean');
        if ($this->form_validation->run() == FALSE) {
                $errors = $this->form_validation->error_array();
                if (!empty($errors['field'])) {
                    $errors_data = $errors['field'];
                }
                print_r($errors_data);exit;
            }
        

        您可以使用 is_natural,如果表单元素包含自然数以外的任何值:0、1、2、3 等,则返回 FALSE。 对于空检查,使用 required 规则,如果表单元素为空,则返回 FALSE。所以删除所需的规则是如果使用。 并使用 form_validation 规则来显示您的规则信息

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-12-06
          • 2013-01-22
          • 1970-01-01
          • 2012-11-15
          • 2022-12-31
          • 2011-09-06
          相关资源
          最近更新 更多