2015-05-15 24 views
1

我在我的表單驗證擴展中有一個有趣的狀態。我創建了一個MY_Form_validation.php類。這個類自動實例化(嘗試在構造函數中輸出)AND 方法覆蓋也可以工作。例如。如果我將方法required添加到新班級,它就像一個魅力。擴展表單驗證不起作用 - 覆蓋作品

但是:添加到MY_Form_validation類的新方法(如valid_true_falsevalid_vat_id)完全被忽略。

我不知道原因可能是什麼。它不可能是一個命名約定的問題,因爲方法重載工作

這裏是我的類:

/** 
* 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; 
    } 


} 

也許有人有一個想法是怎麼回事錯在這裏?

回答

0

OMG ...這只是一個測試案例問題。 如果您在將字段留空,則根本不會調用驗證方法。因此,您必須在其驗證的字段中添加任何內容。也許有人會像我一樣在未來犯同樣的錯誤:)