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

 更新时间:2015年11月24日 09:54  点击:1733

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

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

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

完整示例:

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

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

[!--infotagslink--]

相关文章

  • 基于BootStrap Metronic开发框架经验小结【八】框架功能总体界面介绍

    这篇文章主要介绍了基于BootStrap Metronic开发框架经验小结【八】框架功能总体界面介绍 的相关资料,需要的朋友可以参考下...2016-05-14
  • .net数据库操作框架SqlSugar的简单入门

    这篇文章主要介绍了.net数据库操作框架SqlSugar的简单入门,帮助大家更好的理解和学习使用.net技术,感兴趣的朋友可以了解下...2021-09-22
  • CI框架开发新浪微博登录接口源码完整版

    首先来看下流程:流程原理: 1.通过code获得access_token通过授权,并获取用户的信息(包括用户u_id)(这个u_id在后面的第三方登录表里面叫sina_id,那个表是需要自己建的) 2.查询第三方登录表,如果不存在用户sina_id,分2...2014-05-31
  • 记一次EFCore类型转换错误及解决方案

    这篇文章主要介绍了记一次EFCore类型转换错误及解决方案,帮助大家更好的理解和学习使用asp.net core,感兴趣的朋友可以了解下...2021-09-22
  • PHP YII框架开发小技巧之模型(models)中rules自定义验证规则

    YII的models中的rules部分是一些表单的验证规则,对于表单验证十分有用,在相应的视图(views)里面添加了表单,在表单被提交之前程序都会自动先来这里面的规则里验证,只有通过对其有效的限制规则后才能被提交,可以很有效地保证...2015-11-24
  • c# 常用框架汇总

    这篇文章主要介绍了c# 常用框架汇总,帮助大家更好的理解和学习使用c#,感兴趣的朋友可以了解下...2021-04-24
  • vue实现表单验证小功能

    这篇文章主要为大家详细介绍了vue实现表单验证小功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-29
  • 搭建php Laravel框架教程详解

    Laravel框架我们用到的不多了,但如果使用需要搭配了,下面我们来看一篇关于搭建php Laravel框架教程详解,具体的操作细节如下所示,希望对各位有帮助。 一、安装 Compos...2016-11-25
  • Java SSM框架如何添加写日志功能

    这篇文章主要介绍了Java SSM框架如何添加写日志功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-09-25
  • JavaScript表单验证示例详解

    这篇文章主要为大家详细介绍了JavaScript表单验证示例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-10-04
  • jQuery实现表单验证功能

    这篇文章主要为大家详细介绍了jQuery实现表单验证功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-10-21
  • node.js爬虫框架node-crawler初体验

    这篇文章主要介绍了node.js爬虫框架node-crawler的相关资料,帮助大家利用node.js进行爬虫,感兴趣的朋友可以了解下...2020-10-29
  • ASP.NET中iframe框架点击左边页面链接 右边显示链接页面内容

    这篇文章主要介绍了ASP.NET中iframe框架点击左边页面链接,右边显示链接页面内容的实现代码,感兴趣的小伙伴们可以参考一下...2021-09-22
  • bootstrapValidator自定验证方法写法

    这篇文章主要为大家详细介绍了bootstrapValidator自定验证方法写法,研究bootstrapValidator验证,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2016-12-02
  • 初识angular框架后的所思所想

    这篇文章主要介绍了初识angular框架后的所思所想,学习认识angular后的一些个人问题总结,需要的朋友可以参考下...2016-02-21
  • BootStrap框架个人总结(bootstrap框架、导航条、下拉菜单、轮播广告carousel、栅格系统布局、标签页tabs、模态框、菜单定位)

    这篇文章主要介绍了BootStrap框架个人总结(bootstrap框架、导航条、下拉菜单、轮播广告carousel、栅格系统布局、标签页tabs、模态框、菜单定位)的相关资料,需要的朋友可以参考下...2016-12-02
  • 支持python的分布式计算框架Ray详解

    Ray是一种分布式执行框架,便于大规模应用程序和利用先进的机器学习库,今天给大家分享支持python的分布式计算框架Ray详解,感兴趣的朋友一起看看吧...2021-07-29
  • Javascript的表单验证-初识正则表达式

    JavaScript 可用来在数据被送往服务器前对 HTML 表单中的这些输入数据进行验证。接下来通过本文给大家介绍Javascript的表单验证-初识正则表达式,对js表单验证正则表达式相关知识感兴趣的朋友一起学习吧...2016-03-22
  • 第一次接触神奇的前端框架vue.js

    第一次接触神奇的vue.js,主要了解一下v-model、v-if、v-else、v-show、v-for等,感兴趣的小伙伴们可以一起学习一下...2016-12-02
  • 正则表达式进行页面表单验证功能

    本文介绍了正则表达式进行页面表单验证功能的教程,非常实用,有兴趣的同学快来看看吧 一般做到注册页面的时候,当用户填完信息,都需要对他们的信息进行验证,这就要用到...2017-07-06