<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>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ThinkPHP推薦使用驗證器,可以在控制器中使用`validate`助手函數(或者封裝驗證方法)進行驗證。 ## 驗證器定義 為具體的驗證場景或者數據表定義好驗證器類,直接調用驗證類的`check`方法即可完成驗證,下面是一個例子: 我們定義一個`\app\validate\User`驗證器類用于`User`的驗證。 ~~~ namespace app\validate; use think\Validate; class User extends Validate { protected $rule = [ 'name' => 'require|max:25', 'email' => 'email', ]; } ~~~ >可以使用下面的指令快速生成`User`驗證器。 > ~~~cmd > php think make:validate User > ~~~ 可以直接在驗證器類中使用`message`屬性定義錯誤提示信息,例如: ~~~ namespace app\validate; use think\Validate; class User extends Validate { protected $rule = [ 'name' => 'require|max:25', 'age' => 'number|between:1,120', 'email' => 'email', ]; protected $message = [ 'name.require' => '名稱必須', 'name.max' => '名稱最多不能超過25個字符', 'age.number' => '年齡必須是數字', 'age.between' => '年齡只能在1-120之間', 'email' => '郵箱格式錯誤', ]; } ~~~ >[danger] 如果沒有定義錯誤提示信息,則使用系統默認的提示信息 ## 數據驗證 在需要進行`User`驗證的控制器方法中,添加如下代碼即可: ~~~ <?php namespace app\controller; use app\validate\User; use think\exception\ValidateException; class Index { public function index() { try { validate(User::class)->check([ 'name' => 'thinkphp', 'email' => 'thinkphp@qq.com', ]); } catch (ValidateException $e) { // 驗證失敗 輸出錯誤信息 dump($e->getError()); } } } ~~~ ## 批量驗證 默認情況下,一旦有某個數據的驗證規則不符合,就會停止后續數據及規則的驗證,如果希望批量進行驗證,可以設置: ~~~ <?php namespace app\controller; use app\validate\User; use think\exception\ValidateException; class Index { public function index() { try { $result = validate(User::class)->batch(true)->check([ 'name' => 'thinkphp', 'email' => 'thinkphp@qq.com', ]); if (true !== $result) { // 驗證失敗 輸出錯誤信息 dump($result); } } catch (ValidateException $e) { // 驗證失敗 輸出錯誤信息 dump($e->getError()); } } } ~~~ ## 自定義驗證規則 系統內置了一些常用的規則(參考后面的內置規則),如果不能滿足需求,可以在驗證器重添加額外的驗證方法,例如: ~~~ <?php namespace app\validate; use think\Validate; class User extends Validate { protected $rule = [ 'name' => 'checkName:thinkphp', 'email' => 'email', ]; protected $message = [ 'name' => '用戶名必須', 'email' => '郵箱格式錯誤', ]; // 自定義驗證規則 protected function checkName($value, $rule, $data=[]) { return $rule == $value ? true : '名稱錯誤'; } } ~~~ 驗證方法可以傳入的參數共有`5`個(后面三個根據情況選用),依次為: * 驗證數據 * 驗證規則 * 全部數據(數組) * 字段名 * 字段描述 >[danger] 自定義的驗證規則方法名不能和已有的規則沖突。
                  <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>

                              哎呀哎呀视频在线观看