1. 程式人生 > 其它 >tp5 tp6的批量驗證引數懶人專用

tp5 tp6的批量驗證引數懶人專用

技術標籤:PHPTP5筆記

tp5 tp6的批量驗證引數懶人專用

幾乎相容TP的驗證全部寫法

    #批量驗證
    public function v($EX,$data=[])
    {
        if(!$data)$data = $this->p;
        $message = [];
        $validate=[];
        foreach ($EX as $k => $v) {
            if(!preg_match('/(.+?)\.(.+?)($|\:(.+))/im',$k,$ls))die('變數名.驗證型別:引數');
            $message[$ls[1].'.'.$ls[2]]=$v;
            if(!$validate[$ls[1]])$validate[$ls[1]]=[];
            if('regex'==$ls[2]){
                $validate[$ls[1]]['regex']=$ls[4];
            }else{
                $validate[$ls[1]][]=$ls[2].$ls[3];
            }
        }
        $v = validate($validate, $message ,  $batch = false,  $failException = false);
        if(!$v->check($data)){
            die($v->getError());
            return false;
        }
        return true;
    }


    #使用驗證
    if(!$this->v([
        'user.regex:/^[a-z0-9]{4,16}$/im'       =>'賬號只能為長度4-16位數字或字母!',
        'pwd.regex:/^[a-z0-9]{4,16}$/im'        =>'密碼只能為長度4-16位數字或字母!',
        'cipher.require'                        =>'密保不能為空!',
        'user.require'                          =>'賬號不能為空!',
        'pwd.require'                           =>'密碼不能為空!',
    ]))return;