這篇文章主要介紹了Yii數(shù)據(jù)模型中rules類(lèi)驗(yàn)證器用法,結(jié)合實(shí)例形式分析了rules類(lèi)驗(yàn)證器的簡(jiǎn)單使用方法,代碼注釋中包含了相關(guān)方法的使用說(shuō)明,需要的朋友可以參考下
public function rules()
{
return array(
array('project_id, type_id, status_id, owner_id, requester_id,', 'numerical', 'integerOnly'=>true),
array('name', 'length', 'max'=>256),
array('description', 'length', 'max'=>2000),
array('create_time,create_user_id,update_user_id, update_time', 'safe'),
array('id, name, description, project_id, type_id, status_id, owner_id', 'on'=>'search'),
);
}
//required: 必填
array('title,content','required'),
//match: 正則表達(dá)式驗(yàn)證
array('birthday', 'match', 'pattern'=>'%^\d{4}(\-|\/|\.)\d{1,2}\1\d{1,2}$%', 'allowEmpty'=>true, 'message'=>'生日必須是年-月-日格式'),
//email:郵箱格式驗(yàn)證
array('user_mail', 'email'),
//url:URL格式驗(yàn)證
array('user', 'url'),
//unique:唯一性驗(yàn)證
array('username', 'unique','caseSensitive'=>false,'className'=>'user','message'=>'用戶(hù)名"{value}"已經(jīng)被注冊(cè),請(qǐng)更換'),
//caseSensitive 定義大小寫(xiě)是否敏感
//compare:一致性驗(yàn)證
array('repassword', 'compare', 'compareAttribute'=>'password','message'=>'兩處輸入的密碼并不一致'),
//length:長(zhǎng)度驗(yàn)證
//in: 驗(yàn)證此屬性值在列表之中(通過(guò)range指定)。
//numerical: 驗(yàn)證此屬性的值是一個(gè)數(shù)字
//captcha: 驗(yàn)證屬性值和驗(yàn)證碼中顯示的一致
array('verifyCode','captcha'),
//type: 驗(yàn)證屬性的類(lèi)型是否為type所指定的類(lèi)型.
//file: 驗(yàn)證一個(gè)屬性是否接收到一個(gè)有效的上傳文件
//default: 屬性指定默認(rèn)值
//exist: 驗(yàn)證屬性值在數(shù)據(jù)庫(kù)中是否存在
//boolean: 驗(yàn)證布爾屬性值
//date: 檢驗(yàn)此屬性是否描述了一個(gè)日期、時(shí)間或日期時(shí)間
//safe: 屬性標(biāo)志為在批量賦值時(shí)是安全的。
//unsafe: 標(biāo)志為不安全,所以他們不能被批量賦值。
希望本文所述對(duì)大家基于Yii框架的PHP程序設(shè)計(jì)有所幫助。