Правила проверки пользовательской формы Codeigniter - PullRequest
0 голосов
/ 21 марта 2020

Я пытаюсь создать пользовательские правила проверки для поля. Это многократный флажок.

<div class="row checkbox-wrapper" id="checkbox-wrapper">
   <?php foreach ($facilities as $facility) : ?>
      <div class="col-md-6 mb-2">
         <div class="custom-control custom-checkbox">
            <input type="checkbox" name="list_facility[]" value="<?php echo $facility['id']; ?>">
            <label class="custom-control-label"><?php echo $facility['facility_name'] ?></label>
         </div>
      </div>
   <?php endforeach ?>
</div>

Поэтому я пытаюсь проверить их с помощью пользовательского правила, которое называется Facility_valdation ()

$this->form_validation->set_rules('list_facility', 'Facility List', 'callback_facility_validation');

public function facility_validation($array)
{
   if ($array == NULL) {
      $this->form_validation->set_message('facility_validation', 'Fasilitas tidak boleh kosong (minimal = 1)');
      return FALSE;
   } else {
      return TRUE;
   }
}

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

Я пытался var_dump моей переменной list_facility, и я уже получаю то, что хочу. Значение NULL, если флажок не установлен или массив id для каждого флажка установлен.

Я реализовал проверку на хранение в другом контроллере, и она работает просто отлично

1 Ответ

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

Ваше поле ввода формы является массивом, поэтому ваше поле проверки также должно быть массивом. Это должно быть

$this->form_validation->set_rules('list_facility[]', 'Facility List', 'callback_facility_validation');

list_facility[] вместо list_facility

Я пробовал, и это работает. Надеюсь, это поможет

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