Проверка формы codeigniter для массива, а не для отправки формы

Я хочу проверить мое поле ввода формы или вы хотите сказать, что у меня есть массив, и я хочу проверить этот массив с помощью codeigniter

Пример: у меня есть массив как:

$array['obj_type']='sample';
$array['obj_id']='44';
$array['user_id']='34566';

и мой конфиг проверки формы как:

'validatedata' =>  array(
      array(
            'field' => 'obj_type',
            'label' => 'No Type Define here',
            'rules' => 'required'
        ),  
        array(
            'field' => 'obj_id',
            'label' => 'No any item selected here',
            'rules' => 'required|is_natural_no_zero'
        ),
        array(
            'field' => 'user_id',
            'label' => 'No user logged in',
            'rules' => 'required|is_natural_no_zero'
        ),
    ),

и когда я использую форму проверки ее не проверять массив

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

вывести все ошибки, которые определены в массиве конфигурации validatedata;

3 ответа

Решение

Я просто использую

$this->form_validation->set_data($array);

тогда я проверяю форму

if ($this->form_validation->run('validatedata')) {
echo "sucess";
} else {
echo validation_errors();
}

Теперь все работает хорошо и хорошо.

Вы должны загрузить библиотеку проверки формы в свой контроллер.

$this->load->library(array('form_validation'));

Вы должны предоставить данные в библиотеку form_validation:

$this->form_validation->set_data($array);

и тогда вы можете использовать

$this->form_validation->run('validatedata')

как предполагалось.

Если вы хотите проверить несколько массивов, вам придется позвонить reset_validation() после проверки каждого массива.

Проверьте system/library /Form_validation.php (около строки 255, в зависимости от вашей версии CI) для получения дополнительной информации.

Другие вопросы по тегам