使用回调对codeigniter进行表单_dropdown验证

时间:2013-04-30 10:14:31

标签: codeigniter codeigniter-form-helper

我需要知道下载验证在codeigniter中是如何工作的 需要在视图,控制器,模型中编写的内容。

以下是我的代码但不起作用。

view.php

 $options = array(
              '0'    => 'Select',
              '1'  => 'Dr.',
              '2'  => 'Mr.',
              '3' => 'Mrs.',
              '4' => 'Ms.',
              '5' => 'Prof.',
              '6' => 'Mr. & Mrs.',
            );

<?php echo form_dropdown('Title', $options, set_value('title')); ?>

Controller.php这样

    $this->form_validation->set_rules('title','Titles','required|callback_select_validate');

function select_validate() { 
 $gender = $this->input->post('gender'); 
 if($gender == 0) {
    return true;
  } 
 else { 
  $this->form_validation->set_message('check_sex', 'invalid choice');
 return FALSE; 
} 

2 个答案:

答案 0 :(得分:0)

您的ID不符合

$这 - &GT; form_validation-&GT; set_rules( '名称', '标题', '所需| callback_select_validate');

试试那个。

答案 1 :(得分:0)

现在有效

<强> view.php

 $options = array(
              '0'    => 'Titles',
              'Dr.'  => 'Dr.',
              'Mr.'  => 'Mr.',
              'Mrs.' => 'Mrs.',
              'Ms.' => 'Ms.',
              'Prof.' => 'Prof.',
              'Mr. & Mrs.' => 'Mr. & Mrs.',
            );
<?php echo form_dropdown('Title', $options, set_value('Title')); ?>

<强> Controller.php这样

$this->form_validation->set_rules('Title','Titles','required|callback_select_validate');


$this->form_validation->set_message('select_validate', 'This %s is a default value');





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