**數據驗證**
FrPHP 內置了數據驗證工具類,可以方便、全面的驗證數據!
**使用步驟**
~~~
//1、定義驗證規則
$checkRules??=?array(
????'name'?=>?array('驗證類型',?'驗證規則匹配的數據',?'錯誤信息'),
????......
);
//2、實例化數據驗證工具(參數:1、被驗證的數據?2、驗證規則?3、是否自動驗證?Token?【可選參數?默認?false】)
$dataChecker?=?new?FrPHP\tools\dataChecker(需要驗證的數據,?驗證規則);
//3、獲取驗證結果
$res?=?$dataChecker->check();
//4、根據驗證結果進行后續的工作
if($res){
????echo?'ok';
}else{
????//獲取驗證的錯誤信息?$dataChecker->error
????echo?$dataChecker->error;
}
~~~
**驗證規則列表**
| 類型 | 功能 | 規則參數 |
| --- | --- | --- |
| string | 字符串長度檢查 | 如:5, 100 |
| int
| 整數及長度檢查 | 如 : 1, 8 |
| betweend | 整數區間檢查 | 如:100,999 |
| between | 數值區間檢查 | 如:-500, 22 |
| isFloat | 小數檢查 | 無需參數
|
| betweenf | 小數區間檢查 | 如:1, 88 |
| floatLenght | 小數及小數位數檢查 | 如:2,3 |
| gt | 大于某個數值 | 如:100 |
| gtAndSame | 大于等于某個數值 | 如:100 |
| lt
| 小于某個數值 | 如:100 |
| ltAndSame | 小于等于某個數值 | 如:100 |
| same
| 等于某個值 | 如:100 或 grace |
| notSame | 不等于某個值 | 如:100 |
| email
| 郵件地址檢查 | 無需參數 |
| phone
| 手機號碼檢查 | 無需參數 |
| url
| url 地址檢查 | 無需參數 |
| zipcode
| 郵編檢查 | 無需參數 |
| reg
| 正則表達檢查 | 自定義正則表達式 |
**演示代碼【直接驗證 $\_POST】**
~~~
<?php
class?indexController?extends?FrBase{
????public?function?index(){
????????$checkRules??=?array(
????'name'?=>?array('string',???'1,10',?????'姓名應為1-10個字'),
????'age'??=>?array('betweenD',?'18,?188',??'請正確填寫年齡')
);
????????$dataChecker?=?new?FrPHP\tools\dataChecker($_POST,?$checkRules);
????????$res?=?$dataChecker->check();
????????//根據驗證結果進行后續的工作
????????if($res){
????echo?'ok';
????????}else{
????echo?$dataChecker->error;
????????}
????}
}
~~~
**驗證指定數據及多重檢查**
~~~
<?php
class?indexController?extends?FrBase{
????public?function?index(){
????????$data?=?array(
????'name'?=>?'frphp',
????'age'??=>?666
);
????????$checkRules??=?
????????????array(
????????????????'name'?=>?array(
????????????????????array('string',???'1,10',??'姓名應為1-10個字'),
????????????????????array('notSame',??'frphp',?'姓名不能為frphp')
?????????????????),
????????????????'age'??=>?array('betweenD',?'18,?188',??'請正確填寫年齡')
????????????);
????????$dataChecker?=?new?FrPHP\tools\dataChecker($data,?$checkRules);
????????$res?=?$dataChecker->check();
????????//根據驗證結果進行后續的工作
????????if($res){
????????????echo?'ok';
????????}else{
????????????echo?$dataChecker->error;
????????}
????}
}
~~~
- 第一章:快速開始
- 1.1 簡介和條款
- 1.2 環境和偽靜態
- 1.3 目錄結構及命名
- 1.4 初始化、原理、分組
- 1.5 兼容7.2php
- 第二章 控制器和路由
- 2.1 創建控制器
- 2.2 基礎控制器
- 2.3 URL解析
- 2.4 自定義路由
- 2.5 URL路由生成
- 第三章 數據和模型
- 3.1 數據庫的配置
- 3.2 獲取數據庫對象
- 3.3 數據庫操作
- 3.4 數據分頁詳情
- 3.5 事務操作&處理
- 3.6 數據驗證
- 3.7 表單驗證
- 3.8 全局模型創建與調用
- 第四章 視圖
- 4.1 視圖文件的創建
- 4.2 視圖調用及引用
- 4.3 視圖文件路徑模式
- 第五章 會話機制
- 5.1 cookie 操作
- 5.2 文件型 SEssion
- 5.3 session[memcache]
- 5.4 session[redis]
- 第六章 緩存機制
- 6.1 緩存的簡介和配置
- 6.2 文件型緩存
- 6.3 memcache 形式的緩存
- 6.4 redis 形式的緩存
- 第七章 配置 常量 語言
- 7.1 全局配置&分組配置
- 7.2 預定義常量
- 7.3 語言包使用說明
- 第八章 工具擴展
- 8.1 函數小工具
- 8.2 工具類函數
- 第九章 安全配置擴展
- 9.1 框架安全部署
- 9.2 常規安全配置
- 9.3 如何去擴展
- 附錄:擴展工具類
- 一 、圖片處理類
- 二、文件上傳類
- 三、IP地址獲取類