tp5 validate驗證規則

2021-09-29 14:27:51 字數 4344 閱讀 1121

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'

# 驗證某個欄位的值是否在某個範圍,

'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',

// 或者

'zip'=>'regex:\d',

'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'

tp5 Validate類 使用的小坑

當我們使用tp5 的validate類的時候,通常會 自已建立乙個 basevalidate extends validate 我們在 basevalidate 中書寫了一些公用的自定義的判斷規則 此時在程式中使用basevalidate 中的公用的 規則的時候要注意了 如果新建乙個 baseval...

TP5驗證規則

1.require 驗證某個字段必須,例如 name require 2.number 或者 integer 驗證某個欄位的值是否為數字 採用filter var驗證 例如 num number 3.float 驗證某個欄位的值是否為浮點數字 採用filter var驗證 例如 num float ...

TP5 驗證規則

驗證規則 描述require 必須驗證 alpha 是否為字母 alphanum 是否為字母和數字 alphadash 是否為字母 數字,下劃線 及破折號 number 是否為數字 integer 是否為整型 注意大小範圍 float 是否為浮點型 boolean 是否為布林型 email 是否為有...