【问题标题】:How to put validation on a variable value in codeigniter如何在codeigniter中对变量值进行验证
【发布时间】:2020-06-24 09:01:11
【问题描述】:

我正在尝试使用 codeigniter 中的 set_rules 函数对变量值进行验证。有可能吗?

我的代码如下:

$client_name = "Some name";
$this->form_validation->set_rules($client_name,'Client','required');

即使我尝试直接在 Post 变量中设置值,如下所示:

$a = array('Name1','','Name3');

foreach($a as $client_name ) {

    $_POST['client_name'] = $client_name = "Some name";

    echo "--- " . validation_errors();
    $this->form_validation->set_rules('client_name','Client','required');

    if (!$this->form_validation->run())
    {
        echo validation_errors();
    }
    else
    {
        echo 'validation successful';
    }
}

此代码给出以下输出:

---  // No validation error
validation successful //first time validation successfully ran
---  // No validation error
Client field is required //first time validation failed 
--Client field is required // validation error from the second loop
Client field is required

如果可能,请提供帮助。

提前致谢。

【问题讨论】:

    标签: php codeigniter validation codeigniter-2


    【解决方案1】:

    我找到了以下解决方案:

    $a = array('Name1','','Name3');
    
    foreach($a as $client_name ) {
        $this->load->library('form_validation',null,'fv');
        $_POST['client_name'] = $client_name = "Some name";
    
        echo "--- " . validation_errors();
        $this->fv->set_rules('client_name','Client','required');
    
        if (!$this->fv->run())
        {
            echo validation_errors();
        }
        else
        {
            echo 'validation successful';
        }
        unset($this->fv);
    }
    

    到目前为止,它的工作,但如果有人找到更好的解决方案,请回答这个问题。因为我觉得循环加载库不是一个好习惯。

    【讨论】:

      猜你喜欢
      • 2016-02-12
      • 1970-01-01
      • 1970-01-01
      • 2022-08-05
      • 1970-01-01
      • 2013-01-05
      • 1970-01-01
      • 2013-07-20
      • 1970-01-01
      相关资源
      最近更新 更多