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中使用Oracle数据库(6)
Oct 09 PHP
PHP常用代码
Nov 23 PHP
php判断字符以及字符串的包含方法属性
Aug 30 PHP
深入解析php中的foreach问题
Jun 30 PHP
php对csv文件的读取,写入,输出下载操作详解
Aug 10 PHP
php中3种方法删除字符串中间的空格
Mar 10 PHP
php发送get、post请求的6种方法简明总结
Jul 08 PHP
destoon实现资讯信息前面调用它所属分类的方法
Jul 15 PHP
Thinkphp整合微信支付功能
Dec 14 PHP
laravel5.2实现区分前后台用户登录的方法
Jan 11 PHP
PHP按一定比例压缩图片的方法
Oct 12 PHP
open_basedir restriction in effect. 原因与解决方法
Mar 14 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 FLEA中二叉树数组的遍历输出
2012/09/26 PHP
基于HBase Thrift接口的一些使用问题及相关注意事项的详解
2013/06/03 PHP
php生成excel文件的简单方法
2014/02/08 PHP
Symfony2学习笔记之插件格式分析
2016/03/17 PHP
PHP的时间戳与具体时间转化的简单实现
2016/06/13 PHP
php array_map()函数实例用法
2021/03/03 PHP
锋利的jQuery 要点归纳(三) jQuery中的事件和动画(下:动画篇)
2010/03/24 Javascript
jquery实现保存已选用户
2014/07/21 Javascript
JQuery中$.each 和$(selector).each()的区别详解
2015/03/13 Javascript
JavaScript实现的简单烟花特效代码
2015/10/20 Javascript
JS跨域解决方案之使用CORS实现跨域
2016/04/14 Javascript
基于BootStrap Metronic开发框架经验小结【一】框架总览及菜单模块的处理
2016/05/12 Javascript
Javascript将数字转化成为货币格式字符串
2016/06/22 Javascript
Node.js+ES6+dropload.js实现移动端下拉加载实例
2017/06/01 Javascript
JS实现的走迷宫小游戏完整实例
2017/07/19 Javascript
vue使用jsonp抓取qq音乐数据的方法
2018/06/21 Javascript
vue-cli2.0转3.0之项目搭建的详细步骤
2018/12/11 Javascript
JS原型和原型链原理与用法实例详解
2020/02/05 Javascript
35个Python编程小技巧
2014/04/01 Python
Python3.2中的字符串函数学习总结
2015/04/23 Python
Python2.6版本中实现字典推导 PEP 274(Dict Comprehensions)
2015/04/28 Python
Python的Django框架中的Context使用
2015/07/15 Python
Python模拟三级菜单效果
2017/09/11 Python
python3 中的字符串(单引号、双引号、三引号)以及字符串与数字的运算
2019/07/18 Python
详解python 利用echarts画地图(热力图)(世界地图,省市地图,区县地图)
2019/08/06 Python
Python如何实现强制数据类型转换
2019/11/22 Python
美国购买体育、音乐会和剧院门票网站:SelectATicket
2019/09/08 全球购物
德国最大的网上足球商店:11teamsports
2019/09/11 全球购物
美国农场商店:Blain’s Farm & Fleet
2020/01/17 全球购物
业务代表的岗位职责
2013/11/16 职场文书
警察思想汇报
2014/01/04 职场文书
违纪检讨书2000字
2014/02/08 职场文书
实习会计求职自荐信范文
2014/03/10 职场文书
公司聚餐通知
2015/04/22 职场文书
干货!开幕词的写作方法
2019/04/02 职场文书
关于CentOS 8 搭建MongoDB4.4分片集群的问题
2021/10/24 MongoDB