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