1

我有月、日和年的三个选择选项列表

<?php echo form_dropdown('dob[month]',$dates['months'],set_value('dob[month]','0'));?>
<?php echo form_dropdown('dob[day]',$dates['days'],set_value('dob[day]','0'));?>
<?php echo form_dropdown('dob[year]',$dates['years'],set_value('dob[year]','0'));?>

要验证用户输入的日期是否有效,我使用以下规则:

$this->form_validation->set_rules('dob','date of birth','valid_dob'); 

其中 valid_dob 是在 My_form_validation 类中定义的函数,如下所示:

public function valid_dob($dob)
{   
    if(checkdate($dob['month'],$day['day'],$day['year']))
    {
        return true;
    }
    return false;
}

但是上面定义的函数不是由 codeigniter 执行的,请
让我知道如何使用三个下拉列表来验证日期。

谢谢。

4

1 回答 1

2

您需要回调您自己的验证函数。callback_在您的函数名称之前添加

$this->form_validation->set_rules('dob','date of birth','callback_valid_dob['.$this->input->post('dob').']');  // You can pass array to function for getting all three values month,day,year
于 2012-12-02T06:25:45.557 回答