## 數據驗證
[TOC]
### 基本語法
~~~
array(字段名,驗證方法,錯誤信息,驗證條件)
驗證條件 (可選):
1 有字段時
2 值不為空時
3 必須處理 (默認)
4 值為空時
5 不存在字段時處理
~~~
### 驗證數據
默認情況下驗證直接操作POST數據,我們可以在執行make()方法時傳遞第二個參數設置驗證數據。
~~~
$data = ['phone'=>'333'];
$res = Validate::make( [
[ 'phone', 'phone', '手機號格式錯誤', Validate::MUST_VALIDATE ]
] ,$data);
if($res===false){
print_r(Validate::getError());
}
~~~
### 閉包驗證
~~~
$data = ['num' => 300];
Validate::make([
['domain', function ($value) {
return $value > 100;
}, '域名不能為空',Validate::MUST_VALIDATE ]
],$data);
//閉包返回 true 時驗證通過
~~~
### 驗證表字段唯一性
~~~
$data = ['qq' => '2300071698','id'=>1];
Validate::make( [
[ 'qq', 'unique:user,id', 'qq已經存在', Validate::MUST_VALIDATE ]
// user :表名 uid:表主鍵
],$data );
~~~
### 驗證表單驗證碼
~~~
Validate::make( [
[ 'code', 'captcha', '驗證碼輸入錯誤', Validate::MUST_VALIDATE ]
] );
~~~
### 獲取錯誤信息
錯誤信息會記錄到模型對象的 error 屬性中,使用 getError() 方法獲取但需要設置處理方式為 default
~~~
Validate::getError();
~~~
### 系統規則
~~~
required 必須輸入
isnull 字段為空時驗證失敗
email 郵箱
http 網址
tel 固定電話
phone 手機
zipCode 郵政編碼
num 數字范圍 如:['num', '20,60']
range 長度范圍(位數)如 : ['range','5,20']
maxlen 最大長度如:['maxlen',10]
minlen 最少長度如:['minlen',10]
regexp 正則如:['regexp','/^\d{5,20}$/']
confirm 兩個字段值比對如:['confirm','password2']
chinese 內容為中文或字母時驗證通過
identity 身份證
exists 存在這個字段時驗證失敗
captcha 驗證碼
~~~
### 增加規則
~~~
Validate::extend('checkUser',function($field,$value,$params){
//返回值為true時驗證通過
return true;
});
~~~
### 設置規則
~~~
/**
* 設置驗證規則
* @param array $data [description]
*/
public function setRule(array $data = [])
~~~
### 設置數據
~~~
// 設置驗證數據
public function data(array $data = [])
~~~
### 驗證數據
如果參數為空需要之前調用過設置數據和設置規則
~~~
/**
* 進行驗證
* @param array $validate [驗證規則]
* @param array $validate [驗證數據]
* @return [type] [description]
*/
public function make(array $validate = [], array $data = [])
~~~
- 簡介
- 開發規范
- 許可協議
- 作者
- 安裝框架
- 更新日志
- 基礎
- 入口文件
- 全局變量
- 系統配置
- 目錄結構
- 系統常量
- 自動加載
- 系統函數
- 應用密匙
- 依賴注入
- 配置
- 說明
- 基本使用
- 擴展應用
- C函數
- 容器
- 介紹
- 使用容器
- 綁定服務
- 數組訪問
- 請求
- 基礎
- 函數常量
- 獲取信息
- 方法偽造
- 路由
- 基礎使用
- 域名路由
- 靜態路由
- 正則路由
- 路由分組
- 地區
- 資源路由
- 閉包
- 其它方法
- 響應
- 響應輸出
- session
- 設置
- 生命周期數據
- cookie
- 加密使用
- 中間件(鉤子)
- 基礎使用
- 保存到文件
- 數據
- 配置
- 核心操作
- 聚合查詢
- 查詢構造器
- 關系型數據庫關聯
- 事務處理
- 日志
- 日志
- 視圖
- 模板配置
- 模板文件
- 模板語言
- 基礎使用
- 內置標簽
- 擴展標簽庫
- 模板
- 變量輸出
- 原樣輸出
- 運算符
- 緩存
- 緩存配置
- 基本操作
- 多語言
- 基礎使用
- 擴展庫
- 數據驗證
- xml
- 壓縮
- 工具類
- 字符串
- 文件上傳
- 目錄操作
- 二維碼
- 驗證碼
- 圖片處理
- curl
- url生成