[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裁剪
- 緩存類
- 日志類
- 擴展
- 插件應用
- 模版