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

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

class 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
* 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框架之表单验证规则大全的全部内容,希望大家喜欢。

php验证规则表单,PHP Yii框架之表单验证规则大全相关推荐

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

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

  2. python flask表单语法_Flask框架如何使用表单

    每个web应用都需要使用表单来采集用户数据.现在让我们使用Flask框架创建一个简单的表单来收集用户的基本信息,例如名称.年龄.邮件.兴趣爱好等,我们将这个模板文件命名为bio_form.html. ...

  3. mysql的单页应用框架搭建_单页应用(SPA)的特征

    单页应用的优点: >快速.不需要发送请求.重新加载html/js/css.只有页面的数据需要重新拉取.另外,vue支持替换组件时保存旧组件的状态. >更好的使用体验.用户不需要等待加载时空 ...

  4. yii mysql join_Yii框架连表查询操作示例

    本文实例讲述了Yii框架连表查询操作.分享给大家供大家参考,具体如下: Join //表连接 //查询出学生.班级.校区.记录表的所有数据 $data=Jf_record::find() ->j ...

  5. 栈 php 验证格式,表单验证 - 《Biny - 高性能轻量级PHP框架》 - 书栈网 · BookStack...

    表单验证 框架提供了一套完整的表单验证解决方案,适用于绝大多数场景. 表单验证支持所有类型的验证以及自定义方法 简单示例:namespaceapp\form; usebiny\lib\Form; /* ...

  6. spry提示信息设置html,[原]Spry框架:表单验证构件

    Spry框架的构件除了可以提供层叠样式面板等提高用户体验的可视化工具外,还提供了一组用于验证表单数据的Spry构件,不用编写代码,就可以高效快捷地完成表单验证的任务.这些验证框架有:验证文本框.验证文 ...

  7. 视频教程-Web前端开发利器 SPRY框架之表单验证-JavaScript

    Web前端开发利器 SPRY框架之表单验证 有17年互联网行业从业经验,始终在教学第一线,勇于创新,从有效教学,不断向高效教学转变.始终坚持"学生为主体,教师为主导:商业化案例,企业化情境& ...

  8. web.py——简单而且功能强大的Python web 框架(4):生成表单、获取输入和内容的验证

    web.py的form模块能够帮助你生成HTML表单:获取用户的输入,并在处理或添加到数据库之前对其进行内容的验证. 表单简介 web.py的表单模块允许生成html表单,获取用户输入,并在处理或将其 ...

  9. Django框架——模型层单表操作、模型层多表操作、模型层常用和非常用字段和参数、模型层进阶

    文章目录 1 模型层-单表操作 一 ORM简介 二 单表操作 2.1 创建表 1 创建模型 2 更多字段 3 更多参数 4 settings配置 5 增加,删除字段 2.2 添加表纪录 2.3 查询表 ...

最新文章

  1. 程序员关注的高质量公众号
  2. 深度学习中的噪声数据
  3. ZEGO即构科技携小程序连麦直播方案亮相GMIC
  4. Linux关闭进程命令
  5. Red5 简单安装指南
  6. 「递归」第8集 | 当敲代码的手开始写歌,玩跨界的程序员有多野?
  7. erlang的dict源码解析(2)
  8. 2019青海大学计算机调剂,2019青海大学招收硕士研究生调剂公告
  9. java请求转发实例_Servlet请求转发的步骤和实例
  10. numpy.arange()官方用法详解(附numpy官方文档)
  11. Flink Kafka Connector 与 Exactly Once 剖析
  12. exe反编译为python语言_如何反编译Python写的exe到py
  13. 什么是服务器防护,什么是硬防?什么是软防?
  14. sublime text2配置文件详解(转)
  15. 大量数据导出Excel 之 多重影分身之术 [转]
  16. 电信增值业务学习笔记13——增值业务管理
  17. Blazeds(一)
  18. 什么是原创?独立完成就是原创吗?
  19. 杰出校友王章清董事长
  20. 个人简历求职面试PPT-朴尔PPT

热门文章

  1. Java核心技术-具体的集合
  2. 【React Native 实战】微信登录
  3. CIO:让IT成为企业的一种竞争优势
  4. 设置UITableView Section的背景颜色和字体颜色
  5. 细说 Form (表单)(转)
  6. linux 嵌入式串口通信,基于linux的嵌入式串口通信综述.doc
  7. cloud源码-Ribbon
  8. Oracle中针对层次数据所设计的专用SQL查询语句
  9. Tomcat启动默认访问项目
  10. CoreOS和Docker入门