如何在 codeigniter form_validation 类中允许空值或数值?

Posted

技术标签:

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

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

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

这有可能实现吗?

【问题讨论】:

【参考方案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 规则来显示您的规则信息

【讨论】:

以上是关于如何在 codeigniter form_validation 类中允许空值或数值?的主要内容,如果未能解决你的问题,请参考以下文章

如何在codeigniter中集成swfupload

如何在没有 codeIgniter MVC 框架的情况下使用数据库 codeigniter 类?

如何在 CodeIgniter 中调用存储过程?

如何在 CodeIgniter 中包含外部库?

如何在 Codeigniter 中检查是不是设置了会话?

如何在 localhost 上设置 CodeIgniter 站点?