<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

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

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
            php語言

            ThinkPHP中自動驗證

            時間:2025-03-29 23:50:04 php語言 我要投稿

            ThinkPHP中自動驗證

              學無止境,剛開始學習PHP會覺得簡單,但是越學會越難。下面是小編整理的關于ThinkPHP中自動驗證的知識,希望對大家有用,更多消息請關注應屆畢業生網。
              ThinkPHP中自動驗證:array(‘字段’,‘驗證規則’,‘錯誤提示’[,‘驗證條件’,‘附加規則’,‘驗證時間’]),。
              1、驗證字段:一般來說是表單的字段名,但不一定需要與數據表的字段匹配,比如新用戶注冊時常見的密碼確認
              2、驗證規則:系統內置了常用的規則,require(字段必填)、 email(郵箱格式)、url(url格式)、currency(貨幣)、number(正整數)、integer(整數)、double(浮點數)、zip(郵
              政編碼
              政編碼)、english。這些規則默認采用的附加規則是 regex,正則表達式驗證,只不過是設定好的。
              3、錯誤信息:驗證失敗后的提示。
              4、驗證條件:共三種:
              1.self::EXISTS_VALIDATE 或 0,表示存在字段就驗證(推薦使用) ;
              2.self::MUST_VALIDATE 或 1,表示必須驗證;
              3.self::VALUE_VALIDATE 或 2,表示值不為空的時候驗證。
              5、驗證時間:主要新增修改等驗證。
              1.self::MODEL_INSERT 或 1 新增數據時驗證;
              2.self::MODEL_UPDATE 或 2 編輯數據時驗證;
              3.self::MODEL_BOTH 或 3 全部情況下驗證(推薦使用)。
              一、靜態定義
              在模型類里預先定義好該模型的自動驗證規則,就是靜態定義。
              1、在Home/Model目錄下建立UserModel.class.php文件,內容如下:
              ?
              1
              2
              3
              4
              5
              6
              7
              8
              9
              10
              11
              12
              class UserModel extends Model {
              protected $_validate = array(
              //默認情況下用系統內置
              array('user', 'require', '用戶不得為空!'),
              //驗證數據唯一性
              array('user', '', '用戶名稱已存在!',2,'unique',1),
              //驗證密碼不得為空
              array('pass', 'require', '密碼不得為空!'),
              //密碼不得小于六位不得大于20位
              array('pass', '6,20', '密碼不得小于6位,不得大于20位', 3,'length'),
              );
              }
              2、在Home/controller目錄下建立Usercontroller.class.php,內容如下:
              ?
              1
              2
              3
              4
              5
              6
              7
              8
              9
              10
              //控制器create()方法自動調用驗證
              $user = D('User');
              $data['user'] = '蠟筆小新';
              $data['pass'] = '123';
              if ($user->create($data)) {
              echo '所有數據驗證成功!';
              } else {
              //輸出錯誤信息
              var_dump($user->getError());
              }
              重點介紹一下附加規則中的callback(回調驗證)和function(函數驗證):
              1、callback(回調驗證)
              UserModel.class.php中的格式如下:
              ?
              1
              2
              3
              4
              5
              6
              7
              8
              9
              10
              11
              12
              13
              14
              class UserModel extends Model{
              protected $_validate=array(
              array('user','checklength','用戶名必須在3-5之間!',0,'callback',3,array(3,5)),
              );
              function checklength($str,$min,$max){
              preg_match_all("/./u", $str,$matchs);
              $len=count($matchs[0]);
              if($len<$min || $len>$max){
              return false;
              }else{
              return true;
              }
              }
              }
              其中回調函數直接寫在user類里面
              2、function(函數驗證)
              UserModel.class.php中的格式如下:
              ?
              class UserModel extends Model{
              protected $_validate=array(
              array('user','checklength','用戶名必須在3-5之間!',0,'function',3,array(3,5)),
              );
              }
              函數內容需要在 Home/Common 文件夾下的 Common 文件夾建立 function.php 文件,會自動加載,內容如下:
              ?
              function checkLength($str,$min,$max) {
              preg_match_all("/./u", $str, $matches);
              $len = count($matches[0]);
              if ($len < $min || $len > $max) {
              return false;
              } else {
              return true;
              }
              }

            【ThinkPHP中自動驗證】相關文章:

            ThinkPHP中create()方法自動驗證表單信息01-26

            ThinkPHP表單自動提交驗證實例教程03-12

            php中tp驗證表單與自動填充函數代碼07-16

            ThinkPHP中redirect用法實例分析02-08

            thinkPHP的RBAC權限管理08-13

            PHP中Yii框架之表單驗證規則06-08

            thinkPHP實現的聯動菜單功能03-04

            excel中自動求和06-05

            ThinkPHP多表聯合查詢的常用方法06-18

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

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

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院