zf框架的校驗(yàn)器使用使用示例

字號(hào):


    這篇文章主要介紹了zf框架的校驗(yàn)器使用使用示例(自定義校驗(yàn)器和校驗(yàn)器鏈),需要的朋友可以參考下
    代碼如下:
    <?php
    require_once("Zend/Loader.php");
    //引入校驗(yàn)器類(lèi)和效驗(yàn)器的功能類(lèi)(Int),與自定義接口類(lèi);
    Zend_Loader::loadClass('Zend_Validate');
    Zend_Loader::loadClass('Zend_Validate_Int');
    Zend_Loader::loadClass('Zend_Validate_Interface');
    //增加自定義校驗(yàn)器功能類(lèi)(GongBeiNum)[公倍數(shù)]
    Class GongBeiNum implements Zend_Validate_Interface
    {
    //聲明接口里的錯(cuò)誤信息報(bào)告屬性
    protected $_messages = array();
    //聲明接口里的校驗(yàn)方法
    public function isValid($num)
    {
    if (!($num%3==0) && !($num%5==0))
    {
    //如果校驗(yàn)失敗,則講錯(cuò)誤信息返回值給錯(cuò)誤信息報(bào)告屬性
    $this -> _messages[] = "你所輸入的數(shù)值不是3和5的公倍數(shù)!";
    //終止程序
    return false;
    }
    //返回真
    return true;
    }
    //定義接口的報(bào)錯(cuò)方法
    public function getMessages()
    {
    return $this -> _messages;
    }
    //定義提取錯(cuò)誤信息(可無(wú))
    public function getErrors()
    {
    }
    }
    //類(lèi)外定義檢測(cè)公倍數(shù)方法
    function check_num($num)
    {
    //實(shí)例化校驗(yàn)器類(lèi)
    $Validate = new Zend_Validate();
    //添加校驗(yàn)器功能功能類(lèi)、添加自定義校驗(yàn)器功能類(lèi),形成校驗(yàn)器鏈
    $Validate -> addValidator(new Zend_Validate_Int())
    -> addValidator(new GongBeiNum());
    //校驗(yàn)參數(shù)
    if (!$Validate -> isValid($num))
    {
    //如果錯(cuò)誤循環(huán)錯(cuò)誤信息并輸出
    foreach ($Validate -> getMessages() as $value)
    {
    echo $value . "<br>";
    return false;
    }
    }
    }
    //指定判斷的值
    $num1 = '15';
    //運(yùn)行校驗(yàn)方法
    check_num($num1);
    ?>