Yii數(shù)據(jù)模型中rules類驗(yàn)證器用法分析

字號(hào):


    這篇文章主要介紹了Yii數(shù)據(jù)模型中rules類驗(yàn)證器用法,結(jié)合實(shí)例形式分析了rules類驗(yàn)證器的簡單使用方法,代碼注釋中包含了相關(guān)方法的使用說明,需要的朋友可以參考下
    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'=>'用戶名"{value}"已經(jīng)被注冊,請更換'),
    //caseSensitive 定義大小寫是否敏感
    //compare:一致性驗(yàn)證
    array('repassword', 'compare', 'compareAttribute'=>'password','message'=>'兩處輸入的密碼并不一致'),
    //length:長度驗(yàn)證
    //in: 驗(yàn)證此屬性值在列表之中(通過range指定)。
    //numerical: 驗(yàn)證此屬性的值是一個(gè)數(shù)字
    //captcha: 驗(yàn)證屬性值和驗(yàn)證碼中顯示的一致
    array('verifyCode','captcha'),
    //type: 驗(yàn)證屬性的類型是否為type所指定的類型.
    //file: 驗(yàn)證一個(gè)屬性是否接收到一個(gè)有效的上傳文件
    //default: 屬性指定默認(rèn)值
    //exist: 驗(yàn)證屬性值在數(shù)據(jù)庫中是否存在
    //boolean: 驗(yàn)證布爾屬性值
    //date: 檢驗(yàn)此屬性是否描述了一個(gè)日期、時(shí)間或日期時(shí)間
    //safe: 屬性標(biāo)志為在批量賦值時(shí)是安全的。
    //unsafe: 標(biāo)志為不安全,所以他們不能被批量賦值。
    希望本文所述對大家基于Yii框架的PHP程序設(shè)計(jì)有所幫助。