当前位置:首页 > CMS教程 > 其它CMS > 列表

PHP Yii框架之表单验证规则大全

发布:smiling 来源: PHP粉丝网  添加日期:2021-06-26 20:27:52 浏览: 评论:0 

Yii是一个基于组件的高性能PHP框架,用于开发大型Web应用。Yii采用严格的OOP编写,并有着完善的库引用以及全面的教程,本文给大家介绍php yii框架之表单验证规则大全,感兴趣的朋友一起学习吧

废话不多说了,直接给大家贴代码了。

  1. <?php 
  2. class ContactForm extends CFormModel 
  3.   public $_id
  4.   public $contact;//联系人 
  5.   public $tel;//电话 
  6.   public $fax;//传真 
  7.   public $zipcode;//邮编 
  8.   public $addr;//地址 
  9.   public $mobile;//手机 
  10.   public $email;//邮箱 
  11.   public $website;//网址 
  12.   public $qq;//QQ 
  13.   public $msn;//MSN 
  14.   public function rules() 
  15.   { 
  16.     return array
  17.       array('contact','required','on'=>'edit','message'=>'联系人必须填写.'), 
  18.       array('contact','length','on'=>'edit','min'=>2,'max'=>10,'tooShort'=>'联系人长度请控制在2-10个字符.','tooLong'=>'联系人长度请控制在2-10个字符.'), 
  19.       array('tel''match','pattern' => '/^(\d{3}-|\d{4}-)(\d{8}|\d{7})?$/','message' => '请输入正确的电话号码.'), 
  20.       array('fax''match','pattern' => '/^(\d{3}-|\d{4}-)(\d{8}|\d{7})?$/','message' => '请输入正确的传真号码.'), 
  21.       array('mobile''match','pattern' => '/^13[0-9]{1}[0-9]{8}$|15[0189]{1}[0-9]{8}$|189[0-9]{8}$/','message' => '请输入正确的手机号码.'), 
  22.       array('email','email','on'=>'edit','message'=>'邮箱输入有误.'), 
  23.       array('zipcode','required','on'=>'edit','message'=>'邮编必须填写.'), 
  24.       array('zipcode','numerical','on'=>'edit','message'=>'邮编是6位数字.'), 
  25.       array('zipcode','length','on'=>'edit','min'=>6,'max'=>6,'tooShort'=>'邮编长度为6位数.','tooLong'=>'邮编长度为6位数.'), 
  26.       array('website','url','on'=>'edit','message'=>'网址输入有误.'), 
  27.       array('qq''match','pattern' => '/^[1-9]{1}[0-9]{4,11}$/','message' => '请输入正确的QQ号码.'), 
  28.       array('msn','email','on'=>'edit','message'=>'MSN输入有误.'), 
  29.     ); 
  30.   } 

完整示例:

  1. public $password2;//非数据库的字段,但是在view中需要用到 
  2.   public $verify//手机验证码 
  3.   public $fjg//忘记号码 
  4.   /** 
  5.    * 映射数据库表名 
  6.    * @return string the associated database table name<br><br>     * www.phpfensi.com 
  7.    */ 
  8.   public function tableName() 
  9.   { 
  10.     return 'adm_user'
  11.   } 
  12.   /** 
  13.    * 验证规则 
  14.    * @return array validation rules for model attributes. 
  15.    */ 
  16.   public function rules() 
  17.   { 
  18.     // NOTE: you should only define rules for those attributes that 
  19.     // will receive user inputs. 
  20.     return array
  21.       //array('mobile_phone,name,status', 'required'), 
  22.       array('mobile_phone''unique'),//'message' => '该手机号已经存在!' 
  23.       array('mobile_phone''match','pattern' => '/^(13|15|18)[0-9]{9}$/','message' => '请输入正确的经办人手机号码.'), 
  24.       //array('certificate_id', 'match','pattern' => '/(.jpg|.gif|.png|\d)$/','message' => '请重新选择证书图像并且后缀只能是jpg、gif、png格式.'), 
  25.       array('phone''match','pattern' => '/^(\d{3}-|\d{4}-)?(\d{8}|\d{7})?$/','message' => '请输入正确的座机号码.'), 
  26.       array('fax''match','pattern' => '/^(\d{3}-|\d{4}-)(\d{8}|\d{7})?$/','message' => '请输入正确的传真号码.'), 
  27.       //array('email_address', 'match','pattern' => '/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/','message' => '请输入正确的邮箱.'), 
  28.       array('email_address','email','message'=>'请输入正确的邮箱.'), 
  29.       //验证密码和确认密码 
  30.       array("password2","compare","compareAttribute"=>"password","message"=>"两次密码不一致",'on'=>'register'), 
  31.       array("password2","compare","compareAttribute"=>"password","message"=>"两次密码不一致",'on'=>'regonter'), 
  32.       array('qq''match','pattern' => '/^[1-9]{1}[0-9]{4,11}$/','message' => '请输入正确的QQ号码.'), 
  33.       array('type,certificate_id,company_type, nationality,yyzz_id, status,level,create_by_id, create_time,update_time''numerical''integerOnly'=>true), 
  34.       array('verify''numerical''message' => '验证码不正确','integerOnly'=>true), 
  35.       array('name,user_type,tuijianren''length''max'=>20), 
  36.       array('password''length''max'=>100), 
  37.       array('email_address,business''length''max'=>50), 
  38.       array('communication_address,money, yhzh,yhmc,industry, company, register_address,yhdh,shangbiao,zhuanli,gongshang''length''max'=>255), 
  39.       array('role_id','default''setOnEmpty'=>true, 'value'=>10), 
  40.       array('shangbiao','default''setOnEmpty'=>true, 'value'=>'0,0'), 
  41.       array('zhuanli','default''setOnEmpty'=>true, 'value'=>'0,0'), 
  42.       array('gongshang','default''setOnEmpty'=>true, 'value'=>'0,0'), 
  43.       array('password','default''setOnEmpty'=>true, 'value'=>'123456'), 
  44.       /*验证码*/ 
  45.       array('verify','checkVerify''on'=>'register'), 
  46.       array('email_address','checkemail''on'=>'regonter'), 
  47. //     array('certificate_id', 'file','allowEmpty'=>true, 
  48. //         'types'=>'jpg, gif, png, doc, txt', 
  49. //         'maxSize'=>1024 * 1024 * 10, // 10MB 
  50. //         'tooLarge'=>'文件大小不能超过10M!', 
  51. //         'message'=>'请先上传证书图像.' 
  52. //     ), 
  53.       // The following rule is used by search(). 
  54.       // @todo Please remove those attributes that should not be searched. 
  55.       array('id,role_id,name, password,user_type, email_address,tuijianren,shangbiao,company_type,zhuanli,gongshang,money,yhzh,yhmc,yyzz_id,yhdh,type,level, phone, qq, mobile_phone, fax, communication_address, nationality, industry, company, business, register_address, certificate, status, create_by_id, create_time, update_time''safe''on'=>'search'), 
  56.     ); 
  57.   }  
  58.   /* 
  59.    * 手机验证码校验  
  60.    */ 
  61.   public function checkVerify($attribute,$params
  62.   {    
  63.     $model=new Mess(); 
  64.     $d_title = $model->find(array('condition'=>'suij=:suij and tel=:tel and type>:type and time>:time','params'=>array(':suij'=>$this->verify,':tel'=>$this->mobile_phone,':type'=>0,':time'=>(time()-3600)),'select'=>array('id'))); 
  65.     //$d_title = $model->findByAttributes(array('suij'=>$this->verify,'tel'=>$this->mobile_phone),array('select'=>array('id'))); 
  66.     if($d_title['id']<1) 
  67.     { 
  68.       $this->addError('verify'"验证码不正确。"); 
  69.     } 
  70.     else 
  71.     { 
  72.       if($this->password == $this->password2) 
  73.       { 
  74.         $model->updateAll(array('type'=>0),array('condition'=>'suij=:sj','params'=>array(':sj'=>$this->verify))); 
  75.       } 
  76.     } 
  77.   } 

以上代码就是关于PHP Yii框架之表单验证规则大全的全部内容,希望大家喜欢。

Tags: Yii框架 Yii表单验证规则

分享到: