我在配置中的form_validation.php中有我的規則,它調用了擴展CI_Form_validation的MY_Form_validation.php中的函數。CodeIgniter驗證規則
form_validation.php規則:
array(
'field' => 'phone',
'label' => 'Phone',
'rules' => 'is_valid_phone'
),
MY_Form_validation.php方法:
public function is_valid_phone($phone)
{
echo 'phone validation: '.$phone;
return preg_match("/\(?\d{3}\)?[-\s.]?\d{3}[-\s.]\d{4}/x", $phone) ? true : false;
}
的其他規則form_validation不呼籲開發和生產is_valid_phone和is_valid_postal_code做工精細。由於某種原因,這兩種方法適用於開發,但不適用於生產。 PHP版本略有不同。 5.2.8關於dev和5.2.17關於產品。所有文件都是同步的,我可以證實這一點。我在is_valid_phone方法中放了一個echo語句,它在dev上顯示,但不在prod上顯示。
我不知道問題可能是什麼。任何想法?
謝謝你們。
有你'$這個 - > set_message( 「is_valid_phone」 試了一下說:「%s是一個無效的電話格式XXX-XXX-XXXX「);' – Henesnarfel 2012-02-17 00:31:27
你有沒有爲有效的手機消息設置lang文件? – Henesnarfel 2012-02-17 00:41:00
$ CI-> form_validation-> set_message('is_valid_phone','error'); $ CI-> form_validation-> set_message('is_valid_postal_code','error'); – Chris 2012-02-17 02:46:48