首页 > 开发 > PHP > 正文

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

2024-05-04 23:40:27
字体:
来源:转载
供稿:网友

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

Yii是一个基于组件的高性能PHP框架,用于开发大型Web应用。Yii采用严格的OOP编写,并有着完善的库引用以及全面的教程。

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

 

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

完整示例:

 

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

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


注:相关教程知识阅读请移步到PHP教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表