[TOC]
## 说明:
说明:验证功能主要使用php-validation插件,php-validation是一个非常好用而且操作简单的php验证参数插件
英文地址:https://packagist.org/packages/hundredminds/php-validation
## 使用方法:
~~~
/**
* Your user-defined validation handling. The exception section is
* very important and should always be used.
*
* @access private
* @param array $data
* @return mixed
*/
public function validate(array $data = array())
{
$data=['name'=>'Name','email'=>'3010085965@qq.com'];
$validator = new \Framework\library\Validator($data);
$validator
->requestMethod('POST');//验证请求方式是否POST
$validator
->required('该参数值不能为空')
->integer('该参数值必须是一个整形')
->validate('name');
$validator
->required('You must supply an email address.')
->email('You must supply a valid email address')
->validate('email', 'Email');
// check for errors
if ($validator->hasErrors()) {
p($validator->getAllErrors());
}
return $validator->getValidData();
}
~~~
输出:
~~~
Array
(
[name] => 该参数值必须是一个整形
)
~~~
## 可用验证函数
需要注意:如果是验证中文字符长度,一个中文字符utf8通常是3个字节,也可能占四个字节
| 验证函数 | 说明 | 默认提示 |
| --- | --- | --- |
| requestMethod($action='GET',$message=null) | 请求 | 请求方式错误,该请求方式不是对应的方式 (注意参数为大写如:POST) |
| required($message = null) | 必填验证 | 字段值是必须的,不能为空 |
| email($message = null) | 邮箱验证 | 字段值不是一个正确的邮箱地址 |
| float($message = null) | 浮点型验证 | 字段值不是一个正确的浮点型float |
| integer($message = null) | 整型验证 | 必须是一个整型(integer)的值 |
| digits($message = null) | 必填验证 | 字段值是必须的,不能为空 |
| min($limit, $include = TRUE, $message = null) | 必填验证 | 字段值必须大于$ limit(numeric)。$ include定义该值是否等于该值,默认true。 |
| max($limit, $include = TRUE, $message = null) | 必填验证 | 字段值必须小于$ limit(numeric)。$ include定义该值是否等于该值,默认true 。 |
| between($min, $max, $include = TRUE, $message = null) | 必填验证 | 字段值必须在$ min和$ max(数值)之间。$ include定义该值是否等于$ min和$ max |
| minLength($length, $message = null) | 必填验证 | 字符串长度必须大于或等于$ length字符。 |
| maxLength($length, $message = null) | 必填验证 | 字符串长度必须小于或等于$ length字符 |
| betweenlength($minlength, $maxlength, $message = null) | 必填验证 | 字符串长度必须大于等于$ min或者小于等于$ max(数值)之间。$ include定义该值是否等于$ min和$ max |
| length($length, $message = null) | 必填验证 | 该字段必须长为$ length个字符 |
| matches($field, $label, $message = null) | 必填验证 | 一个字段匹配另一个字段(即密码匹配) |
| notMatches($field, $label, $message = null) | 必填验证 | 字段值不能匹配$ field的值。 |
| startsWith($sub, $message = null) | 必填验证 | 该字段必须以$ sub作为字符串开头 |
| notStartsWith($sub, $message = null) | 必填验证 | 该字段不能以$ sub作为字符串开头 |
| endsWith($sub, $message = null) | 必填验证 | 该字段必须以$ sub作为字符串结束 |
| notEndsWith($sub, $message = null) | 必填验证 | 该字段不能以$ sub作为字符串结束 |
| ip($message = null) | IP验证 | 字段值不是一个正确的IP地址 |
| url($message = null) | URL验证 | 字段值不是一个正确的url地址 |
| date($message = null) | 时间验证 | 不是一个时间值 date |
| minDate($date, $format, $message = null) | 必填验证 | 日期必须大于$ date。$格式必须是页面上的格式 |
| maxDate($date, $format, $message = null) | 必填验证 | 日期必须小于$ date。$格式必须是页面上的格式 |
| ccnum($message = null) | 必填验证 | 字段值必须是有效的信用卡号码。 |
| oneOf($allowed, $message = null) | 必填验证 | 字段值必须是$允许的值之一。$ allowed可以是数组或逗号分隔的值列表。如果用逗号分隔,除非打算进行匹配,否则不要包含空格 |
| callback($callback, $message = '', $params = array()) | |定义您自己的自定义回调确认功能。$ callback必须通过一个is_callable()检查。$ params可以是任何值,如果必须传递多个参数,则为数组。
## 回调函数
~~~
//回调函数可以作为字符串或闭包传递。
// numeric example
$validadator
->callback('is_numeric', 'Field is not numeric.')
->validate('number_field');
// closure example
$validator
->callback(function($val) {
return $val < -1 || $val > 1;
}, 'Number must be less than -1 or greater than 1.')
->validate('number_field_2');
~~~
## 预验证过滤
您可以将预验证过滤器应用于数据(即trim,strip_tags,htmlentities)。这些过滤器也可以自定义,只要它们通过is_callable()检查。
过滤器($ callback)
~~~
// standard php filter for valid user ids.
$validator
->filter('intval')
->min(1)
->validate('user_id');
// custom filter
$validator
->filter(function($val) {
// bogus formatting of the field
$val = rtrim($val, '/');
$val .= '_custom_formatted';
return $val;
})
->validate('field_to_be_formatted');
~~~
- 框架介绍
- 初衷
- 简介
- 目录结构
- 开发规范
- 后端规范
- 数据库设计规范
- 数据库
- 函数操作数据库
- Medoo操作数据库
- pdo操作数据库
- ORM
- 配置文件
- 主配置文件
- 数据库配置文件
- 文件上传配置文件
- 路由配置文件
- 模块独立配置文件
- 视图
- 视图说明
- 常用标签
- include
- if-else
- for
- G.url
- 大G
- 路由
- 普通模式
- 伪静态模式
- 兼容模式
- 自定义路由
- 全局常量
- 全局函数
- p
- show_json
- error
- success
- url
- 类库
- 验证类
- 文件类
- file_upload上传
- file_image_thumb缩略
- file_image_crop裁剪
- 缓存类
- 日志类
- 扩展
- 插件应用
- 模版