我在config中的form_validation.php中有我的规则,它调用MY_Form_validation.php中的一个函数来扩展CI_Form_validation。
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 on prod。所有文件都是同步的,我可以确认一下。我在is_valid_phone方法中放了一个echo语句,它显示在dev上但不显示在prod上。
我不知道问题是什么。有什么想法吗?
谢谢你们。
答案 0 :(得分:0)
可能是回声。在显示某些标题之前,您有某种缓存或者出现问题。
尝试将echo值放在字符串上并确保正常工作。您也可以尝试使用load-> view方法。试试这个:
$ci = &get_instance();
$ci->load->view('just_echo',array('data' => 'phone validation: '.$phone));
并且视图just_echo.php将是:
<?php
echo $data;
?>