<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## 創建驗證 任何時候,都可以直接使用`think\Validate`類而不需要定義驗證器類進行獨立的驗證操作,例如: ~~~ $validate = Validate::make([ 'name' => 'require|max:25', 'email' => 'email' ]); $data = [ 'name' => 'thinkphp', 'email' => 'thinkphp@qq.com' ]; if (!$validate->check($data)) { dump($validate->getError()); } ~~~ `make`方法直接傳入驗證規則(數組),`check`方法傳入需要驗證的數據(數組)。 ## 設置規則 也可以使用`rule`方法設置單個或者批量驗證規則,例如: ~~~php Validate::make() ->rule('zip', '/^\d{6}$/') ->rule('email', 'email') ->check($data); ~~~ 支持數組方式 ~~~ Validate::make() ->rule(['zip' => '/^\d{6}$/', 'email' => 'email']) ->check($data); ~~~ 驗證規則可以使用`think\validate\ValidateRule`對象定義 ~~~php Validate::make() ->rule('zip', ValidateRule::regex('/^\d{6}$/')) ->rule('email', ValidateRule::must()->isEmail()) ->check($data); ~~~ >[info] `ValidateRule`類可以靜態化調用所有的內置驗證方法(支持二個參數:驗證規則和錯誤信息) 下面是指定錯誤信息及驗證字段的名稱示例: ~~~php Validate::make() ->rule('zip', ValidateRule::regex('/^\d{6}$/', '郵編錯誤')) ->rule('email', ValidateRule::must()->isEmail()->title('郵箱')) ->rule('name', ValidateRule::min(5, '最少5個字符')->max(20, '不得超過20個字符')) ->check($data); ~~~ 同樣在數組方式中也支持: ~~~ Validate::make() ->rule([ 'zip' => ValidateRule::regex('/^\d{6}$/'), 'email' => ValidateRule::email(), ]) ->check($data); ~~~ ## 驗證數據 下面是一個典型的驗證數據的例子: ~~~ $rule = [ 'name' => 'require|max:25', 'age' => 'number|between:1,120', 'email' => 'email', ]; $msg = [ 'name.require' => '名稱必須', 'name.max' => '名稱最多不能超過25個字符', 'age.number' => '年齡必須是數字', 'age.between' => '年齡只能在1-120之間', 'email' => '郵箱格式錯誤', ]; $data = [ 'name' => 'thinkphp', 'age' => 10, 'email' => 'thinkphp@qq.com', ]; $validate = Validate::make($rule,$msg); $result = $validate->check($data); if(!$result) { dump($validate->getError()); } ~~~ 如果需要批量驗證,可以使用: ~~~ $result = Validate::make($rule,$msg) ->batch() ->check($data); ~~~ >[danger] 批量驗證如果驗證不通過,返回的是一個錯誤信息的數組。 ## 閉包驗證 可以對某個字段使用閉包驗證,例如: ~~~ $validate = Validate::make([ 'name' => function($value,$rule) { return $rule==$value ? true : false; }, ])->check($data); ~~~ ## 自定義驗證規則 獨立驗證的時候支持使用`extend`方法動態注冊驗證規則,例如: ~~~ Validate::extend('checkName', function ($value, $rule) { return $rule == $value ? true : '名稱錯誤'; }); $validate = Validate::make(['name' => 'checkName:1']); $data = ['name' => 1]; $validate->check($data); ~~~ 支持批量注冊驗證規則,例如: ~~~ Validate::extend([ 'checkName'=> function ($value, $rule) { return $rule == $value ? true : '名稱錯誤'; }, 'checkStatus'=> [$this,'checkStatus'] ]); $validate = Validate::make(['name' => 'checkName:1']) $data = ['name' => 1]; $validate->check($data); ~~~ ## 設置字段信息 驗證類的架構方法支持傳入`field`參數批量設置字段的描述信息,例如: ~~~ $rule = [ 'name' => 'require|max:25', 'age' => 'number|between:1,120', 'email' => 'email', ]; $field = [ 'name' => '名稱', 'age' => '年齡', 'email' => '郵箱', ]; $data = [ 'name' => 'thinkphp', 'age' => 10, 'email' => 'thinkphp@qq.com', ]; $validate = Validate::make($rule, [], $field); $result = $validate->check($data); ~~~ ## 錯誤提示信息 如果要使用自定義的錯誤信息,可以使用`message`方法: ~~~ $rule = [ 'name' => 'require|max:25', 'age' => 'number|between:1,120', 'email' => 'email', ]; $msg = [ 'name.require' => '名稱必須', 'name.max' => '名稱最多不能超過25個字符', 'age.number' => '年齡必須是數字', 'age.between' => '年齡必須在1~120之間', 'email' => '郵箱格式錯誤', ]; $data = [ 'name' => 'thinkphp', 'age' => 121, 'email' => 'thinkphp@qq.com', ]; $validate = Validate::make($rule)->message($msg); $result = $validate->check($data); if(!$result){ echo $validate->getError(); } ~~~ 會輸出 `年齡必須在1~120之間`。 如果需要使用多語言驗證信息,可以在定義驗證信息的時候使用 **{%語言變量}** 替代 原來的驗證錯誤信息,例如: ~~~ $rule = [ 'name' => 'require|max:25', 'age' => 'number|between:1,120', 'email' => 'email', ]; $msg = [ 'name.require' => '{%name_require}', 'name.max' => '{%name_max}', 'age.number' => '{%age_number}', 'age.between' => '{%age_between}', 'email' => '{%email_error}', ]; $data = [ 'name' => 'thinkphp', 'age' => 121, 'email' => 'thinkphp@qq.com', ]; $validate = Validate::make($rule)->message($msg); $result = $validate->check($data); if(!$result){ echo $validate->getError(); } ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看