# **數據驗證**
phpGrace 內置了數據驗證工具類,可以方便、全面的驗證數據!
## **使用步驟**
~~~
//1、定義驗證規則
$checkRules??=?array(
????'name'?=>?array('驗證類型',?'驗證規則匹配的數據',?'錯誤信息'),
????......
);
//2、實例化數據驗證工具(參數:1、被驗證的數據?2、驗證規則?3、是否自動驗證?Token?【可選參數?默認?false】)
$dataChecker?=?new?phpGrace\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?grace{
????public?function?index(){
????????$checkRules??=?array(
????'name'?=>?array('string',???'1,10',?????'姓名應為1-10個字'),
????'age'??=>?array('betweenD',?'18,?188',??'請正確填寫年齡')
);
????????$dataChecker?=?new?phpGrace\tools\dataChecker($_POST,?$checkRules);
????????$res?=?$dataChecker->check();
????????//根據驗證結果進行后續的工作
????????if($res){
????echo?'ok';
????????}else{
????echo?$dataChecker->error;
????????}
????}
}
~~~
## **驗證指定數據及多重檢查**
~~~
<?php
class?indexController?extends?grace{
????public?function?index(){
????????$data?=?array(
????'name'?=>?'grace',
????'age'??=>?666
);
????????$checkRules??=?
????????????array(
????????????????'name'?=>?array(
????????????????????array('string',???'1,10',??'姓名應為1-10個字'),
????????????????????array('notSame',??'grace',?'姓名不能為grace')
?????????????????),
????????????????'age'??=>?array('betweenD',?'18,?188',??'請正確填寫年齡')
????????????);
????????$dataChecker?=?new?phpGrace\tools\dataChecker($data,?$checkRules);
????????$res?=?$dataChecker->check();
????????//根據驗證結果進行后續的工作
????????if($res){
????????????echo?'ok';
????????}else{
????????????echo?$dataChecker->error;
????????}
????}
}
~~~
- 快速開始
- phpGrace 介紹
- 環境需求及偽靜態設置
- 目錄結構及命名規則
- 初始化、原理、分組
- 控制器與路由
- 創建控制器
- 基礎控制器
- URL解析規則
- 自定義路由
- URL生成
- 數據與模型
- 數據庫配置
- 獲取數據庫操作對象
- 數據庫操作(CURD)
- 數據分頁詳解
- 事務處理
- 數據驗證
- 表單令牌及驗證
- 模型創建與調用
- 視圖
- 視圖文件創建
- 調用、引用視圖
- 視圖路徑模式
- 會話機制
- Cookie 操作
- Session[文件型 ]
- Session [memcache]
- Session [redis]
- 緩存機制
- 緩存概述及配置
- 文件型緩存
- Memcache 形式的緩存
- Memcache介紹
- Memcache安裝
- 開啟PHP Memcache
- PHP操作Memcache
- Memcache來保存Session
- Memcached圖形化管理工具
- Memcache安全相關
- redis 形式的緩存
- Redis介紹
- Redis安裝
- 開啟 PHP Redis
- Redis圖形化管理工具
- PHP操作Redis
- 配置、常量、語言
- 全局配置、分組配置
- 預定義常量
- 語言包使用說明
- 工具
- 函數小工具
- 安全與擴展
- 框架部署安全
- 常規安全
- 擴展說明
- 常用類庫
- 圖片處理類
- 文件上傳類
- IP地址獲取類
- 驗證碼繪制類
- 日期時間換算類
- md5加密類
- 服務器信息類
- curl通信類
- 文件下載類
- 類反射工具
- XML生成與解析
- 漢字轉拼音類
- 文件夾操作
- 人民幣大寫轉換類
- 第三方類庫
- QQ登錄 - web版
- 微信掃碼登錄-網站
- excel 讀寫操作
- 阿里云短信接口
- SMTP 郵件發送
- 二維碼生成類
- word、pdf 生成類
- 阿里云靜態云存儲接口類