Я вызываю вид
function index() { $this->load->helper("form"); $this->load->library("form_validation"); $this->load->view("index"); }
И тогда у меня есть
<?php echo form_open(); ?> <input type="radio" name="radioname" value="x" <?php echo set_radio("radioname", "x", true); ?> /> <input type="radio" name="radioname" value="y" <?php echo set_radio("radioname", "y"); ?> /> </form>
При первой загрузке я получаю первую радиостанцию. Если я отправлю форму, значение успешно перейдет в $this->input->post()
. Но ни один из радиобоксов не проверяется. Если я не загружаю проверку, код работает.
Я выкопал код и обнаружил, что при form_validation
он ведет себя по-разному.
$OBJ =& _get_validation_object(); if ($OBJ === FALSE) { // returns formhelper set_radio } // this doesn't make sense for me return $OBJ->set_radio($field, $value, $default);
Если загружается form_validation
он выполняет set_radio
из $OBJ
, но он не работает.
Что такое $OBJ
в этом контексте? Что мне нужно изменить, чтобы заставить его работать?
Вам необходимо добавить поддельное правило в радионайт, например
$this->form_validation->set_rules("radioname", "", "trim");