zf框架的校驗器使用使用示例

字號:


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