проверка правильности выбора кода в Codeigniter

Я новичок в Codeigniter, и у меня есть некоторые проблемы при проверке правильности выбора. Я хочу установить значение по умолчанию в начале.

<select name="schooGroups[]"> <option value="0">Select User Group</option> <option value="1">Admin</option> </select> 

как я могу сделать это обязательным полем в форме и отобразить сообщение об ошибке при выборе нулевого значения «0».

    Это будет иметь запись, помеченную как «выбранная» как … выбранная по умолчанию. Вы хотите выпадающий список с несколькими выборами, не так ли?

     <select name="schoolGroups[]" multiple="multiple"> <option value="0" selected="selected">Select User Group</option> <option value="1">Admin</option> </select> 

    Что касается проверки, вы можете создать собственное правило проверки:

    Способ вашего контроллера:

     //... $this->form_validation->set_rules('schoolGroups','School groups','required|callback_check_default'); $this->form_validation->set_message('check_default', 'You need to select something other than the default'); //... 

    Добавьте этот другой метод:

     function check_default($array) { foreach($array as $element) { if($element == '0') { return FALSE; } } return TRUE; } 

    Если вам нужен только один выбор (без возможности мультиселекции), это еще проще:

    HTML:

     <select name="schoolGroups"> <option value="0" selected="selected">Select User Group</option> <option value="1">Admin</option> </select> 

    Метод с проверкой:

      $this->form_validation->set_rules('schoolGroups','School groups','required|callback_check_default'); $this->form_validation->set_message('check_default', 'You need to select something other than the default'); 

    Перезвони:

     function check_default($post_string) { return $post_string == '0' ? FALSE : TRUE; } 

    Правильный способ сделать это – установить значение по умолчанию для пустого! Затем вы можете использовать простое правило form_validation, например, для текстового поля:

     <select name="schoolGroups"> <option value="">Select User Group</option> <option value="1">Admin</option> </select> 

    ,

     $this->form_validation->set_rules('schoolGroups','School groups','required'); 

    Этот работал для меня.

    ВИД

     <select name="schoolGroups[]" multiple="multiple"> <option value="">Select User Group</option> <option value="1">Admin</option> </select> 

    КОНТРОЛЛЕР

     $this->form_validation->set_rules('schoolGroups','School groups','callback_check_default'); 

    ПЕРЕЗВОНИ

     function select_validate() { $choice = $this->input->post("schoolGroups"); if(is_null($choice)) { $choice = array(); } $schoolGroups = implode(',', $choice); if($schoolGroups != '') { return true; } else { $this->form_validation->set_message('select_validate', 'You need to select a least one element'); return false; } }