【问题标题】:How to use form validation set rule in codeignter 4如何在codeigniter 4中使用表单验证集规则
【发布时间】:2020-06-07 21:34:43
【问题描述】:

我正在使用 Codeigniter 4 并尝试验证我的表单,但我卡在这里

我的控制器代码:

public function create_project()
{
    $validation = \Config\Services::validation();

    //* Setting validation rules
    $validation->setRules([
        'project_name' => ['label' => 'Project Name', 'rules' => 'required'],
        'description' => ['label' => 'Comments', 'rules' => 'required']
    ]);

    if($validation->getErrors())
    {
        echo "We have errors";
    }
    else
    {
        echo "No errors";
    }
}

当我将项目名称字段和描述字段留空时,此代码不会返回任何错误,这意味着布尔值是假的,我只是不明白?

【问题讨论】:

标签: php codeigniter validation codeigniter-4


【解决方案1】:

https://codeigniter4.github.io/userguide/libraries/validation.html

请参考以上链接。

$validation->withRequest($this->request)
       ->run();

您尚未运行验证。

【讨论】:

    【解决方案2】:

    您的方法的问题是您已经设置了规则但您没有进行验证。为了进行验证,您需要使用 validate() 方法

          $validation = \Config\Services::validation();
    
          //* Setting validation rules
          $validation->setRules([
              'project_name' => ['label' => 'Project Name', 'rules' => 'required'],
              'description' => ['label' => 'Comments', 'rules' => 'required']
          ]);
          // This is where validation will start
          if (!$this->validate([])) {
    
            echo "We have errors";
             var_dump($validation->getErrors());
    
         }else {
            echo 'Passed'
          }
    
    

    我希望这能回答你的问题。

    使用 codeigniter4 编码时的提示

    模型有它的验证 控制器有其验证 使用这些比激活验证库并尝试使用它要简单得多。

    【讨论】:

      猜你喜欢
      • 2021-05-13
      • 2012-12-03
      • 2015-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多