Как поставить проверку значения переменной в codeigniter - PullRequest
0 голосов
/ 12 марта 2020

Я пытаюсь проверить значение переменной, используя функцию set_rules из codeigniter. Можно ли это сделать?

Мой код ниже:

$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

Пожалуйста, помогите, если это возможно.

Заранее спасибо.

1 Ответ

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

Я нашел следующее решение:

$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);
}

На данный момент оно работает, но если кто-то нашел лучшее решение, пожалуйста, ответьте на этот вопрос. потому что я не считаю хорошей практикой загружать библиотеку в l oop.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...