tp6控制器里直接調用驗證器


public function vilidate_test(){
    $phone = input('phone');
    $pwd = input('pwd');
    $pwd_confirm = input('pwd_confirm');
    $data = [
        'phone'                 => $phone
        ,'pwd'                  => $pwd
        ,'pwd_confirm'          => $pwd_confirm
    ];
    $rule = [
        'phone'                 => 'require|mobile'
        ,'pwd'                  => ['require','confirm','regex'=>'/^(?![0-9]+$)(?![a-z]+$)(?![A-Z]+$)(?!([^(0-9a-zA-Z)]|[\(\)])+$)([^(0-9a-zA-Z)]|[\(\)]|[a-z]|[A-Z]|[0-9]){6,}$/'] // tp6驗證器規定‘如果正則表達式中包含有|符號的話,必須使用數組方式定義’
    ];
    $fun_type = 2;// 推薦用方法2省得寫異常捕獲
    if($fun_type == 1){
        // 方法1:基礎BaseController控制器里的validate函數需要用try捕獲不然驗證失敗會直接拋出異常(需要繼承BaseController才可以用)
        try {
            $result = $this->validate($data,$rule);
        } catch (\Exception $e){
            print_r($e->getMessage());// 驗證失敗原因
        }
    } else if($fun_type == 2){
        // 方法二:tp里的Validate類
        $validate = \think\facade\Validate::rule($rule);
        if (!$validate->check($data)) {
            print_r($validate->getError());// 驗證失敗原因
        }
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM