首页 文章

CodeIgniter验证规则

提问于
浏览
0

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

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

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

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

    并且视图just_echo.php将是:

    <?php
                echo $data;
        ?>
    

相关问题