CodeIgniter验证规则

时间:2012-02-17 00:17:01

标签: php codeigniter

我在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上。

我不知道问题是什么。有什么想法吗?

谢谢你们。

1 个答案:

答案 0 :(得分:0)

可能是回声。在显示某些标题之前,您有某种缓存或者出现问题。

尝试将echo值放在字符串上并确保正常工作。您也可以尝试使用load-> view方法。试试这个:

    $ci = &get_instance();
    $ci->load->view('just_echo',array('data' => 'phone validation: '.$phone));

并且视图just_echo.php将是:

    <?php
            echo $data;
    ?>