Codeigniter单选按钮回调验证错误?

时间:2017-04-22 05:41:05

标签: codeigniter

如果未使用Codeigniter回调验证错误选择性别,我想显示错误消息...

我的HTML页面

<label class="control-label labeller" for="gender">Gender</label>
     <input type="radio" id="gender" name="gender" value="Male">Male
     <input type="radio" id="gender" name="gender" value="Female">Female

我的控制器

$this->form_validation->set_rules('gender', 'Gender', 'callback_gender');

public function gender($str)
{
    if ($str == '')
    {
        $this->form_validation->set_message( 'gender', 'Please Choose gender' );
        return FALSE;
    }
    else
    {
        return TRUE;
    }
}

我尝试了很多次......请帮助......

1 个答案:

答案 0 :(得分:2)

尝试使用$this->input->post('gender')代替$str

<?php

class Welcome extends CI_Controller {

  public function __construct() {
     parent::__construct();
     $this->load->library('form_validation');
  }

  public function index() {

    $this->form_validation->set_rules('gender', 'Gender', 'callback_gender');


    if ($this->form_validation->run() == FALSE) {

     // Load view

    } else {

     // Success Stuff
    }

  }


  public function gender() {
    if ($this->input->post('gender')) {
        return TRUE;
    } else {
        $this->form_validation->set_message( 'gender', 'Please Choose gender' );
        return FALSE;
    }
  }

}
  

或回拨$this->form_validation->set_rules('gender', 'Gender', 'callback_gender[gender]');

<?php

class Welcome extends CI_Controller {

  public function __construct() {
     parent::__construct();
     $this->load->library('form_validation');
  }

  public function index() {

    $this->form_validation->set_rules('gender', 'Gender', 'callback_gender[gender]');


    if ($this->form_validation->run() == FALSE) {

     // Load view

    } else {

     // Success Stuff
    }

  }


  public function gender($str) {
    if ($str == '') {
        $this->form_validation->set_message( 'gender', 'Please Choose gender' );
        return FALSE;

    } else {
         return TRUE;
    }
  }

}