CodeIgniter:验证日期时间字段

时间:2014-04-17 07:12:42

标签: php codeigniter

我试过这段代码,但错误没有显示。

$this->form_validation
     ->set_rules('fromdatetime',
                 'fromdatetime',
                 '|required|valid_date[m/d/y,/]');

如何使用 codeigniter 设置规则验证日期时间格式。

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

你可以使用这样的东西(dd / mm / yyyy):

$this->form_validation
     ->set_rules('fromdatetime',
             'Date',
             'required|regex_match[\d{4}-(0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-9]|3(0|1))]');

如果要使用其他format,请更改正则表达式。您也可以使用custom callback这样的函数:

public function checkDateTime($dt)
{
    $pattern = 'same regex pattern';
    if(preg_match($pattern, $this->input->post('fromdatetime'))) {
        return true;
    }
    else {
        $this->form_validation->set_message('checkDateTime', 'Invalid Date!');
        return false;
    }
}

rule设置为:

this->form_validation
    ->set_rules('fromdatetime', 'Date','required|callback_checkDateTime');