我一直在寻找其他类似的帖子,问题似乎是一个转义斜杠。 但是我逃避它们。
这是字符串应该是什么样子:
23/12/2012
这就是我如何声明验证规则:
regex_match[/^(0[1-9]|[12][0-9]|3[01])\/(0[1-9]|1[012])\/(19|20)[0-9]{2}$/]
结束符是存在的,而对于日期两个其间斜线正在用反斜杠转义。 我也试过这是略有不同,但我得到了同样的错误:
regex_match[/^(0[1-9]|[12][0-9]|3[01])\/(0[1-9]|1[012])\/(19|20)\d\d$/]
哪里的错误?
编辑:
按照你的意见,我一直在使用一个回调函数尝试。 这是声明,它位于在其中正在执行的表单验证控制器类中:
function mach_date($date) {
/* DEBUG */ echo 'Here I am!'; exit; // execution should stop here displaying the echo
return (bool)preg_match('/^(0[1-9]|[12][0-9]|3[01])\/(0[1-9]|1[012])\/(19|20)\d\d$/', $date);
}
在应用程序/配置/ form_validation.php验证规则:
$config = array(
// other validation groups.....,
'articles' => array(
// other validated fields.....,
array(
'field' => 'date_p',
'label' => 'Publishing date',
'rules' => 'callback_match_date'
)
)
);