ThinkPHP3.1新特性之动态设置自动完成和自动验证示例


Posted in PHP onJune 19, 2014

以往在ThinkPHP3.1版本之前,如果需要设置自动验证或者自动完成,一般来说必须定义在模型中,或者通过setProperty方法动态设置属性来完成,这样做的缺点是不太方便动态改变和调整。

ThinkPHP3.1版本在模型类中增加auto和validate两个连贯操作,用于动态设置自动完成和自动验证规则,现在可以在Action中使用:

$validate = array(
  array('verify','require','验证码必须!'), 
  array('name','','帐号名称已经存在!',0,'unique',1), 
 );
$auto = array ( 
  array('password','md5',1,'function') , 
  array('create_time','time',2,'function'), 
 );
M('User')->auto($auto)->validate($validate)->create();

其中$auto和$validate变量的规范和模型类的_auto和_validate属性的定义规则一致,而且还可以支持函数调用(由于PHP本身的限制,在类的属性定义中不能调用函数)。

auto和validate方法必须在create方法之前被调用。

通过这一改进,你完全可以通过M方法实例化模型类后使用动态设置完成自动验证和自动完成操作,不必再依赖D方法了。

PHP 相关文章推荐
使PHP自定义函数返回多个值
Nov 26 PHP
php不用正则采集速度探究总结
Mar 24 PHP
用PHP的超级变量$_GET获取HTML表单(Form) 数据
May 07 PHP
PHP6 中可能会出现的新特性预览
Apr 04 PHP
PHP调用C#开发的dll类库方法
Jul 28 PHP
php分页函数完整实例代码
Sep 22 PHP
如何通过Linux命令行使用和运行PHP脚本
Jul 29 PHP
详解php实现页面静态化原理
Jun 21 PHP
CI框架网页缓存简单用法分析
Dec 26 PHP
Laravel如何同时连接多个数据库详解
Aug 13 PHP
laravel实现图片上传预览,及编辑时可更换图片,并实时变化的例子
Nov 14 PHP
php文件上传原理与实现方法详解
Dec 20 PHP
ThinkPHP的Widget扩展实例
Jun 19 #PHP
ThinkPHP3.1的Widget新用法
Jun 19 #PHP
ThinkPHP3.1新特性之命名范围的使用
Jun 19 #PHP
ThinkPHP3.1新特性之Action参数绑定
Jun 19 #PHP
ThinkPHP3.1新特性之多层MVC的支持
Jun 19 #PHP
php定界符
Jun 19 #PHP
php获取网页中图片、DIV内容的简单方法
Jun 19 #PHP
You might like
PHP中把有符号整型转换为无符号整型方法
2015/05/27 PHP
php微信公众平台配置接口开发程序
2016/09/22 PHP
js 面向对象的技术创建高级 Web 应用程序
2010/02/25 Javascript
浅谈Javascript嵌套函数及闭包
2010/11/09 Javascript
同时使用n个window onload加载实例介绍
2013/04/25 Javascript
Javascript中的高阶函数介绍
2015/03/15 Javascript
jquery validate.js表单验证入门实例(附源码)
2015/11/10 Javascript
Javascript的比较汇总
2016/07/25 Javascript
JS图片左右无缝隙滚动的实现(兼容IE,Firefox 遵循W3C标准)
2016/09/23 Javascript
AngularJS  ng-repeat遍历输出的用法
2017/06/19 Javascript
js实现控制文件拖拽并获取拖拽内容功能
2018/02/17 Javascript
Vue多系统切换实现方案
2018/06/05 Javascript
jQuery 同时获取多个标签的指定内容并储存为数组
2018/11/20 jQuery
详解Webstorm 下的Angular2.0开发之路(图文)
2018/12/06 Javascript
vue 组件内获取actions的response方式
2019/11/08 Javascript
[01:38]完美世界DOTA2联赛(PWL)宣传片:第一站
2020/10/26 DOTA
Python文档生成工具pydoc使用介绍
2015/06/02 Python
python爬虫入门教程--HTML文本的解析库BeautifulSoup(四)
2017/05/25 Python
教你学会使用Python正则表达式
2017/09/07 Python
Python装饰器用法实例总结
2018/02/07 Python
pycharm设置当前工作目录的操作(working directory)
2020/02/14 Python
Python中的整除和取模实例
2020/06/03 Python
Python实现自动装机功能案例分析
2020/10/22 Python
使用PDF.JS插件在HTML中预览PDF文件的方法
2018/08/29 HTML / CSS
英国领先的奢侈品零售商之一:CRUISE
2016/12/02 全球购物
泰国汽车、火车和轮渡票预订网站:Bus Online Ticket
2017/09/09 全球购物
Linux的文件类型
2016/07/05 面试题
Exception类的常用方法
2012/06/16 面试题
公司领导推荐信
2013/11/12 职场文书
产品销售员岗位职责
2013/12/18 职场文书
社区学习十八大感想
2014/01/22 职场文书
大学生水果店创业计划书
2014/01/28 职场文书
汽车4S店销售经理岗位职责
2015/04/02 职场文书
第一书记观后感
2015/06/08 职场文书
教你怎么用python selenium实现自动化测试
2021/05/27 Python
Python办公自动化解决world文件批量转换
2021/09/15 Python