扩展表单验证不起作用 - 覆盖工作

时间:2015-05-15 15:59:58

标签: php codeigniter codeigniter-2

我在CI中的表单验证扩展中有一个有趣的状态。我创建了一个MY_Form_validation.php类。此类自动实例化(在构造函数中使用输出尝试)并且方法覆盖也可以。例如。如果我将方法required添加到新类中,它就像魅力一样。

但是:添加到valid_true_false类的新方法(如valid_vat_idMY_Form_validation)完全被忽略。

我不知道原因是什么。它可能不是命名约定问题,因为方法重载工作

这是我的班级:

/**
 * CodeIgniter Form Validation Extension
 */
class MY_Form_validation extends CI_Form_validation {

    function __construct( $config = array() )
    {
        parent::__construct($config);
    }

    // WORKS
    function required($str)
    {
        echo 'required check';
        return false;
    }

    // DOESN´T WORK
    function test() {
        die('TEST');
    }

    // DOESN´T WORK
    function valid_true_false($input){
        die('truefalse');
        return ( ! preg_match("/^(true|false|0|1)$/", $input)) ? FALSE : TRUE;
    }

    // DOESN´T WORK
    function valid_vat_id() {
        die('VALIDATING VAT ID');
        return false;
    }


}

也许有人知道这里出了什么问题?

1 个答案:

答案 0 :(得分:1)

OMG ......这只是一个测试用例问题。 如果将字段留空,则验证方法不会全部调用。因此,您必须在其验证的字段中添加任何内容。也许有人在未来会像我一样犯同样的错误:)