## 数据验证
[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生成