我一直在尋找其他類似的帖子,這個問題似乎是一個非轉義的斜線。但是我逃避了他們。在CodeIgniter form_validation regex_match生成:消息:preg_match():沒有結尾分隔符'/'找到
這是字符串應該是什麼樣子:
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'
)
)
);
你可以發佈一些更多的問題代碼本身 –
@JulienMay我已經添加了該問題的更多信息 –