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


Posted in PHP onJune 23, 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 fsockopen伪造post与get方法的详解
Jun 14 PHP
两级联动select刷新后其值保持不变的实现方法
Jan 27 PHP
Codeigniter整合Tank Auth权限类库详解
Jun 12 PHP
浅谈PHP正则表达式中修饰符/i, /is, /s, /isU
Oct 21 PHP
php源码分析之DZX1.5字符串截断函数cutstr用法
Jun 17 PHP
ECSHOP在PHP5.5及高版本上报错的解决方法
Aug 31 PHP
PHP下使用mysqli的函数连接mysql出现warning: mysqli::real_connect(): (hy000/1040): ...
Feb 14 PHP
Yii操作数据库实现动态获取表名的方法
Mar 29 PHP
Ajax PHP JavaScript MySQL实现简易无刷新在线聊天室
Aug 17 PHP
php 判断IP为有效IP地址的方法
Jan 28 PHP
Laravel5.1 框架路由基础详解
Jan 04 PHP
php判断IP地址是否在多个IP段内
Aug 18 PHP
ThinkPHP结合ajax、Mysql实现的客户端通信功能代码示例
Jun 23 #PHP
ThinkPHP实现事务回滚示例代码
Jun 23 #PHP
Discuz批量替换帖子内容的方法(使用SQL更新数据库)
Jun 23 #PHP
PHP错误Parse error: syntax error, unexpected end of file in test.php on line 12解决方法
Jun 23 #PHP
ThinkPHP学习笔记(一)ThinkPHP部署
Jun 22 #PHP
ThinkPHP的URL重写问题
Jun 22 #PHP
分享一个php 的异常处理程序
Jun 22 #PHP
You might like
PHP初学者头疼问题总结
2006/07/08 PHP
用穿越火线快速入门php面向对象
2012/02/22 PHP
php实现httpclient类示例
2014/04/08 PHP
Zend Framework框架教程之Zend_Db_Table_Rowset用法实例分析
2016/03/21 PHP
PHP面向对象程序设计之命名空间与自动加载类详解
2016/12/02 PHP
js猜数字小游戏的简单实现代码
2013/07/02 Javascript
a标签的href和onclick 的事件的区别介绍
2013/07/26 Javascript
jquery及原生js获取select下拉框选中的值示例
2013/10/25 Javascript
javascript浏览器兼容教程之事件处理
2014/06/09 Javascript
window.location 对象所包含的属性
2014/10/10 Javascript
jQuery解析Json实例详解
2015/11/24 Javascript
javascript html5实现表单验证
2016/03/01 Javascript
jQuery Validate 相关参数及常用的自定义验证规则
2017/03/06 Javascript
jQuery实现带右侧索引功能的通讯录示例【附源码下载】
2018/04/17 jQuery
Vue 框架之键盘事件、健值修饰符、双向数据绑定
2018/11/14 Javascript
微信小程序wepy框架学习和使用心得详解
2019/05/24 Javascript
使用Python读写及压缩和解压缩文件的示例
2016/07/08 Python
Python管理Windows服务小脚本
2018/03/12 Python
python3 selenium 切换窗口的几种方法小结
2018/05/21 Python
Django框架使用富文本编辑器Uedit的方法分析
2018/07/31 Python
django 将model转换为字典的方法示例
2018/10/16 Python
Python语言快速上手学习方法
2018/12/14 Python
python3读取图片并灰度化图片的四种方法(OpenCV、PIL.Image、TensorFlow方法)总结
2019/07/04 Python
ipython jupyter notebook中显示图像和数学公式实例
2020/04/15 Python
使用keras内置的模型进行图片预测实例
2020/06/17 Python
CSS3弹性伸缩布局之box布局
2016/07/12 HTML / CSS
GAP阿联酋官网:GAP UAE
2017/11/30 全球购物
英国二手iPhone、音乐、电影和游戏商店:musicMagpie
2018/10/26 全球购物
J2SDK1.5与J2SDK5.0有什么区别
2012/09/19 面试题
开工庆典邀请函范文
2014/01/16 职场文书
初中高效课堂实施方案
2014/02/26 职场文书
商务英语专业求职信
2014/06/26 职场文书
2014第二批党的群众路线教育实践活动对照检查材料思想汇报
2014/09/18 职场文书
社区母亲节活动总结
2015/02/10 职场文书
城管年度个人总结
2015/02/28 职场文书
销售合作意向书范本
2015/05/08 职场文书