<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國際加速解決方案。 廣告
                # 驗證場景 ## 驗證場景 驗證器重支持定義場景,并且驗證不同場景的數據,例如: ``` namespace app\index\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' => '郵箱格式錯誤', ]; protected $scene = [ 'edit' => ['name','age'], ]; } ``` 然后可以在驗證方法中制定驗證的場景 ``` $data = [ 'name' => 'thinkphp', 'age' => 10, 'email' => 'thinkphp@qq.com', ]; $result = $this->validate($data,'app\index\validate\User.edit'); if(true !== $result){ // 驗證失敗 輸出錯誤信息 dump($result); } ``` 如果你直接調用驗證器類的話直接使用 `scene` 方法指定驗證場景。 ``` namespace app\index\controller; use app\index\validate\User as UserValidate; use think\Controller; class Index extends Controller { public function index() { $data = [ 'name' => 'thinkphp', 'email' => 'thinkphp@qq.com', ]; $validate = new UserValidate; if (!$validate->scene('edit')->check($data)) { dump($validate->getError()); } } } ``` 可以單獨為某個場景定義方法(方法的命名規范是`scene`+場景名),并且對某些字段的規則重新設置,例如: ``` namespace app\index\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' => '郵箱格式錯誤', ]; // edit 驗證場景定義 public function sceneEdit() { return $this->only(['name','age']) ->append('name', 'min:5') ->remove('age', 'between') ->append('age', 'require|max:100'); } } ``` 主要方法說明如下: 方法名描述only場景需要驗證的字段remove移除場景中的字段的部分驗證規則append給場景中的字段需要追加驗證規則如果對同一個字段進行多次規則補充(包括移除和追加),必須使用下面的方式: ``` remove('field', ['rule1','rule2']) // 或者 remove('field', 'rule1|rule2') ``` 下面的方式會導致rule1規則remove不成功 ``` remove('field', 'rule1') ->remove('field', 'rule2') ```
                  <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>

                              哎呀哎呀视频在线观看