<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國際加速解決方案。 廣告
                ## 模型驗證 通過在模型中設置 validate 屬性可以方便的進行數據驗證,模型驗證繼承了 [Validate 驗證組件](http://www.hmoore.net/houdunwang/hdphp3/215225),所以驗證服務中在的所有方法均可以使用。 因為使用了 [Validate 驗證組件](http://www.hmoore.net/houdunwang/hdphp3/215225) 當發現錯誤時的處理方式與 Validate組件處理相同,請查看 Validate組件 關于**處理方式**的相關內容。 [TOC] ## 語法 ``` 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 全部情況時處理 ``` > 當驗證不通過時,系統會自動進行跳轉,如果是 ajax 請求返回json數據。 #### 正則表達式驗證 如果函數是正則表達式,系統會自動以正則驗證 ``` namespace system\model; use houdunwang\model\Model; class Field extends Model{ protected $validate=[ ['age','/^\d+$/','年齡必須是數字',self::MUST_VALIDATE,self::MODEL_BOTH] ]; } ``` #### 表值碓一驗證 ``` protected $validate = array( //驗證username的值必須在user_table表中唯一 //系統可以根據數據中的主鍵字段自動分析,也就是說更新時會忽略當前字段相同值 //也就是說最后2個參數都設置為3即可 ['username','unique','用戶已存在',self::MUST_VALIDATE,self::MODEL_BOTH] ); //更新時,本次更新的記錄數據有相同字段值是可以的。 ``` ## 自定義驗證規則 ``` namespace system\model; use houdunwang\model\Model; class userModel extends Model { protected $validate = array( ['username', 'checkUser', '用戶名長度錯誤',self::MUST_VALIDATE,self::MODEL_BOTH] ); //以下是自定義的驗證規則 //$field 字段名 //$value 字段值 //$params 參數比如 maxlen:10 10就是參數 //$data 所有表單數據 public function checkUser($field, $value, $params, $data) { //返回true,為驗證通過 if (mb_strlen($value, 'utf-8') > 5) { return true; } } } ``` ## 系統規則 以下羅列出部分 [自動驗證組件](http://www.hmoore.net/houdunwang/hdphp3/215225) 提交的方法,這些驗證規則都可以在模型驗證中使用。 ``` 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項都沒有則本條規則忽略 ## 顯示錯誤 #### redirect 模式 當配置項的錯誤處理設置為 redirect 時,系統會員向模板中分配包含錯誤信息的變量 $errors,所以可以要模板中使用以下方式顯示錯誤。 ``` <if !empty($errors)> <if value="$errors"> <foreach from="$errors" value="$e"> <li>{{$e}}</li> </foreach> </if> ``` #### show 模式 當配置項的錯誤處理設置為 show 時,系統將使用 config/validate.php 配置文件中的 template 配置項指定的模板顯示錯誤。 > 模型驗證使用 Validate 組合處理,所以更多功能請查看 [Validate 驗證組件](http://www.hmoore.net/houdunwang/hdphp3/215225) 說明文檔。
                  <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>

                              哎呀哎呀视频在线观看