Yii2.0 rules驗證規則大全

大飛_dafei發表於2018-10-15

required : 必須值驗證屬性

[['欄位名'],required,'requiredValue'=>'必填值','message'=>'提示資訊'];
#說明:CRequiredValidator 的別名, 確保了特性不為空.

指定場景

[['title', 'content'], 'required', 'on' => ['create', 'update']],

email : 郵箱驗證

['email', 'email'];
#說明:CEmailValidator的別名,確保了特性的值是一個有效的電郵地址. 

match : 正則驗證

[['欄位名'],match,'pattern'=>'正規表示式','message'=>'提示資訊'];    
[['欄位名'],'match','pattern'=>'/^[1-9]d*|0$/','message'=>'必須為正整數'];
[['欄位名'],match,'not'=>ture,'pattern'=>'正規表示式','message'=>'提示資訊'];
/*正則取反*/ #說明:CRegularExpressionValidator 的別名, 確保了特性匹配一個正規表示式. 

safe : 安全

['description', 'safe'];

compare : 比較

['age', 'compare', 'compareValue' => 30, 'operator' => '>='];
#說明:compareValue(比較常量值) - operator(比較操作符)  
#說明:CCompareValidator 的別名,確保了特性的值等於另一個特性或常量. 

default : 預設值

['age', 'default', 'value' => null];
#說明:CDefaultValueValidator 的別名, 為特性指派了一個預設值. 

file : 檔案

['primaryImage', 'file', 'extensions' => ['png', 'jpg', 'gif'], 'maxSize' => 1024*1024*1024]; 
#說明:CFileValidator 的別名, 確保了特性包含了一個上傳檔案的名稱. 

filter : 濾鏡

[['username', 'email'], 'filter', 'filter' => 'trim', 'skipOnArray' => true]; 
#說明:CFilterValidator 的別名, 使用一個filter轉換屬性. 

in : 範圍

['level', 'in', 'range' => [1, 2, 3]]; 
#說明:CRangeValidator 的別名,確保了特性出現在一個預訂的值列表裡. 

unique : 唯一性

['username', 'unique'] 
#說明:CUniqueValidator 的別名,確保了特性在資料表欄位中是唯一的.

integer : 整數

['age', 'integer'];

number : 數字

['salary', 'number'];

double : 雙精度浮點型

['salary', 'double'];

date : 日期

[['from', 'to'], 'date'];

string : 字串

['username', 'string', 'length' => [4, 24]];

boolean : 是否為一個布林值

['欄位名', 'boolean', 'trueValue' => true, 'falseValue' => false, 'strict' => true]; 
#說明:CBooleanValidator 的別名 

when條件:

['name2', 'required', 'when' => function ($model) {    return empty($model->name1);}],#說明: 

核心驗證器 en
核心驗證器 zh-cn
輸入驗證 zh-cn

相關文章