TP5 Validate 驗證 內置規則

use think\Validate;

# 驗證某個字段必須
'name'=>'require'

# 驗證某個字段的值是否爲純數字(採用ctype_digit驗證,不包含負數和小數點)
'num'=>'number'

# 驗證某個字段的值是否爲整數(採用filter_var驗證)
'num'=>'integer'

# 驗證某個字段的值是否爲浮點數字(採用filter_var驗證)
'num'=>'float'

# 驗證某個字段的值是否爲布爾值(採用filter_var驗證)
'num'=>'boolean'

# 驗證某個字段的值是否爲email地址(採用filter_var驗證)
'email'=>'email'

# 驗證某個字段的值是否爲數組
'info'=>'array'

# 驗證某個字段是否爲爲 yes, on, 或是 1。這在確認"服務條款"是否同意時很有用,
'accept'=>'accepted'

# 驗證值是否爲有效的日期
'date'=>'date'

# 驗證某個字段的值是否爲純字母,
'name'=>'alpha'

# 驗證某個字段的值是否爲字母和數字,
'name'=>'alphaNum'

# 驗證某個字段的值是否爲字母和數字,下劃線_及破折號-,
'name'=>'alphaDash'

# 驗證某個字段的值只能是漢字,
'name'=>'chs'

# 驗證某個字段的值只能是漢字、字母,
'name'=>'chsAlpha'

# 驗證某個字段的值只能是漢字、字母和數字,
'name'=>'chsAlphaNum'

# 驗證某個字段的值只能是漢字、字母、數字和下劃線_及破折號-,
'name'=>'chsDash'

# 驗證某個字段的值只能是控制字符(換行、縮進、空格),
'name'=>'cntrl'

# 驗證某個字段的值只能是可打印字符(空格除外),
'name'=>'graph'

# 驗證某個字段的值只能是可打印字符(包括空格),
'name'=>'print'

# 驗證某個字段的值只能是小寫字符,
'name'=>'lower'

# 驗證某個字段的值只能是大寫字符,
'name'=>'upper'

# 驗證某個字段的值只能是空白字符(包括縮進,垂直製表符,換行符,回車和換頁字符),
'name'=>'space'

# 驗證某個字段的值只能是十六進制字符串,
'name'=>'xdigit'

# 驗證某個字段的值是否爲有效的域名或者IP,
'host'=>'activeUrl'

# 驗證某個字段的值是否爲有效的URL地址(採用filter_var驗證),
'url'=>'url'

# 驗證某個字段的值是否爲有效的IP地址(採用filter_var驗證),
'ip'=>'ip'

# 驗證某個字段的值是否爲指定格式的日期,
'create_time'=>'dateFormat:y-m-d'

# 驗證某個字段的值是否爲有效的手機,
'mobile'=>'mobile'

# 驗證某個字段的值是否爲有效的身份證格式,
'id_card'=>'idCard'

# 驗證某個字段的值是否爲有效的MAC地址,
'mac'=>'macAddr'

# 驗證某個字段的值是否爲有效的郵政編碼,
'zip'=>'zip'

# 驗證某個字段的值是否在某個範圍,
'num'=>'in:1,2,3'

# 驗證某個字段的值不在某個範圍,
'num'=>'notIn:1,2,3'

# 驗證某個字段的值不在某個範圍,
'num'=>'between:1,10'

# 驗證某個字段的值的長度是否在某個範圍
'name'=>'length:4,25'

# 驗證某個字段的值的最大長度,
'name'=>'max:25'

# 驗證某個字段的值的最小長度
'name'=>'min:5'

# 驗證某個字段的值是否在某個日期之後,
'begin_time' => 'after:2016-3-18',

# 驗證某個字段的值是否在某個日期之前,
'end_time'   => 'before:2016-10-01',

# 驗證當前操作(注意不是某個值)是否在某個有效日期之內,
'expire_time'   => 'expire:2016-2-1,2016-10-01',

# 驗證當前請求的IP是否在某個範圍,
'name'   => 'allowIp:114.45.4.55',

# 驗證當前請求的IP是否禁止訪問
'name'   => 'denyIp:114.45.4.55',

# 驗證某個字段是否和另外一個字段的值一致,
'repassword'=>'require|confirm:password'

# 支持字段自動匹配驗證規則,如password和password_confirm是自動相互驗證的,只需要使用
'password'=>'require|confirm'

# 驗證某個字段是否和另外一個字段的值不一致,
'name'=>'require|different:account'

# 驗證是否等於某個值,
'score'=>'eq:100'
'num'=>'=:100'
'num'=>'same:100'

# 驗證是否大於等於某個值,
'score'=>'egt:60'
'num'=>'>=:100'

# 驗證是否大於某個值
'score'=>'gt:60'
'num'=>'>:100'

# 驗證是否小於等於某個值,
'score'=>'elt:100'
'num'=>'<=:100'

# 驗證是否小於某個值,
'score'=>'lt:100'
'num'=>'<:100'

# 驗證對比其他字段大小(數值大小對比)
'price'=>'lt:market_price'
'price'=>'<:market_price'

# 支持使用filter_var進行驗證,
'ip'=>'filter:validate_ip'

# 支持直接使用正則驗證,
'zip'=>'\d{6}',
// 或者
'zip'=>'regex:\d{6}',
'accepted'=>['regex'=>'/^(yes|on|1)$/i'],

# 驗證是否是一個上傳文件
# image:width,height,type
# fileExt:允許的文件後綴
# fileMime:允許的文件類型
# fileSize:允許的文件字節大小

# 驗證當前請求的字段值是否爲唯一的,
# unique:table,field,except,pk
// 表示驗證name字段的值是否在user表(不包含前綴)中唯一
'name'   => 'unique:user',
// 驗證其他字段
'name'   => 'unique:user,account',
// 排除某個主鍵值
'name'   => 'unique:user,account,10',
// 指定某個主鍵值排除
'name'   => 'unique:user,account,10,user_id',

# 如果需要對複雜的條件驗證唯一
// 多個字段驗證唯一驗證條件
'name'   => 'unique:user,status^account',
// 複雜驗證條件
'name'   => 'unique:user,status=1&account='.$data['account'],

# 驗證某個字段的值等於某個值的時候必須
// 當account的值等於1的時候 password必須
'password'=>'requireIf:account,1'

# 驗證某個字段有值的時候必須
// 當account有值的時候password字段必須
'password'=>'requireWith:account'

# 驗證當某個callable爲真的時候字段必須,
// 使用check_require方法檢查是否需要驗證age字段必須
'age'=>'requireCallback:check_require|number'

行爲驗證
'data'=>'behavior:\app\index\behavior\Check'


轉載:https://blog.csdn.net/qq_32828933/article/details/83061168

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章