Как использовать правило проверки формы в codeignter 4 - PullRequest
0 голосов
/ 24 февраля 2020

Я использую 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";
    }
}

Когда я покидаю поле имени проекта, а также описание пустое поле этот код не возвращает ошибок, означающих, что логическое значение равно false, чего я просто не понимаю?

Ответы [ 2 ]

0 голосов
/ 22 марта 2020

Проблема с вашим методом заключается в том, что вы установили правила, НО вы не выполняли проверку. Чтобы продолжить валидацию, вам нужно использовать метод 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

Модель имеет свою функцию проверки, контроллер имеет свою функцию проверки, используя ее гораздо проще, чем активировать библиотеку проверки и пытаться ее использовать.

0 голосов
/ 05 марта 2020

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

Пожалуйста, обратитесь по ссылке выше.

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

Вы не запустили проверку.

...