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

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                #模型驗證 通過在模型中設置 validate 屬性可以方便的進行數據驗證。 **驗證錯誤信息同時會保存在$_SESSION['_validate']中** ##語法 ``` array(字段名,驗證方法,錯誤信息,驗證條件,驗證時機) 驗證條件 (可選): self::EXISTS_VALIDATE 值:1 有字段時 self::NO_EMPTY_VALIDATE 值:2 值不為空時 self::MUST_VALIDATE 值:3 必須驗證 self::EMPTY_VALIDATE 值:4 值為空時驗證 self::NO_EXIST_VALIDATE 值:5 不存在字段時處理 驗證時間 (可選): self::MODEL_INSERT 值:1 插入時處理 self::MODEL_UPDATE 值:2 更新時處理 self::MODEL_BOTH 值:3 全部情況時處理 ``` 錯誤信息會記錄到模型對象的 error 屬性中,使用getError 模型方法獲取 ##create方法 執行模型的 create 方法時會自動進行自動驗證。 >注:執行add或save方法時會自動執行 create 模型方法,所以執行add或save方法前執行create會造成兩次處理,沒有必要。 ``` <?php namespace Home\Model; use Hdphp\Model\Model; class userModel extends Model { protected $validate = [ ['username','required','用戶名不能為空',3,3] ]; public function store() { if($this->create()){ echo ("驗證通過"); } } } ``` ##添加實例 ``` <?php namespace Home\Model; use Hdphp\Model\Model; class userModel extends Model { protected $validate = [ ['username','required','用戶名不能為空',3,3] ]; public function store() { return $this->add(); } } ``` **正則表達式驗證** 如果函數是正則表達式,系統會自動以正則驗證 ``` <?php namespace Cms\Model; use Hdphp\Model\Model; class Field extends Model{ protected $validate=array( ['age','/^\d+$/','年齡必須是數字',3,3] ); } ``` **表值碓一驗證** ``` protected $validate = array( //驗證username的值必須在user_table表中唯一 //系統可以根據數據中的主鍵字段自動分析,也就是說更新時會忽略當前字段相同值 //也就是說最后2個參數都設置為3即可 ['username','unique','用戶已存在',3,3] ); //更新時,本次更新的記錄數據有相同字段值是可以的。 ``` ##自定義驗證規則 ``` <?php namespace Home\Model; use Hdphp\Model\Model; class userModel extends Model { protected $validate = array( ['username', 'checkUser', '用戶名長度錯誤', 3, 3] ); //以下是自定義的驗證規則 //$field 字段名 //$value 字段值 //$params 參數比如 maxlen:10 10就是參數 //$data 所有表單數據 public function checkUser($field, $value, $params, $data) { //返回true,為驗證通過 if (mb_strlen($value, 'utf-8') > 5) { return true; } } } ``` ##系統規則 ``` required 字段不存在時驗證失敗 exists 字段存在時驗證失敗 email 郵箱 http 網址 tel 固定電話 phone 手機 zipCode 郵政編碼 user 用戶名長度如 :user:5,20 maxlen 最大長度如:maxlen:10 minlen 最小長度如:minlen:10 num 數字范圍 如:num:20,60 regexp 正則如:regexp:/^\d{5,20}$/ confirm 兩個字段值比對如:confirm:password2 china 驗證中文 identity 身份證 ``` ##驗證順序 參與到驗證的動作包括,模型方法、系統驗證規則,驗證順序如下: 1. 模型中是否存在同名的驗證方法函數 2. 系統驗證類中是否存在同名的驗證方法 3. 驗證方法否為正則表達式 4. 以上3項都沒有則本條規則忽略
                  <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>

                              哎呀哎呀视频在线观看