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使之能同时支持GIF和JPEG
Oct 09 PHP
PHP中的日期处理方法集锦
Jan 02 PHP
解决PHP在DOS命令行下却无法链接MySQL的技术笔记
Dec 29 PHP
PHP中break及continue两个流程控制指令区别分析
Apr 18 PHP
php在服务器执行exec命令失败的解决方法
Mar 03 PHP
推荐5款跨平台的PHP编辑器
Dec 25 PHP
PHP使用ODBC连接数据库的方法
Jul 18 PHP
php获取今日开始时间和结束时间的方法
Feb 27 PHP
php生出随机字符串
Jul 06 PHP
PHP实现的redis主从数据库状态检测功能示例
Jul 20 PHP
thinkphp分页集成实例
Jul 24 PHP
php无限级分类实现评论及回复功能
Feb 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
smarty+adodb+部分自定义类的php开发模式
2006/12/31 PHP
php 随机数的产生、页面跳转、件读写、文件重命名、switch语句
2009/08/07 PHP
百度工程师讲PHP函数的实现原理及性能分析(三)
2015/05/13 PHP
php基于双向循环队列实现历史记录的前进后退等功能
2015/08/08 PHP
php通过两层过滤获取留言内容的方法
2016/07/11 PHP
PHP简单实现数字分页功能示例
2016/08/24 PHP
PHP中关键字interface和implements详解
2017/06/14 PHP
Laravel 5.4.36中session没有保存成功问题的解决
2018/02/19 PHP
jquery教程ajax请求json数据示例
2014/01/13 Javascript
JS中attr和prop属性的区别以及优先选择示例介绍
2014/06/30 Javascript
jquery根据锚点offset值实现动画切换
2014/09/11 Javascript
JavaScript函数详解
2015/02/27 Javascript
jQuery事件绑定与解除绑定实现方法
2015/04/15 Javascript
Javascript 计算字符串在localStorage中所占字节数
2015/10/21 Javascript
jQuery链式操作实例分析
2015/11/16 Javascript
果断收藏9个Javascript代码高亮脚本
2016/01/06 Javascript
在页面中输出当前客户端时间javascript实例代码
2016/03/02 Javascript
JavaScript基础重点(必看)
2016/07/09 Javascript
使用JavaScript判断用户输入的是否为正整数(两种方法)
2017/02/05 Javascript
js+html获取系统当前时间
2017/11/10 Javascript
layui清空,重置表单数据的实例
2019/09/12 Javascript
详解小程序如何动态绑定点击的执行方法
2019/11/26 Javascript
python清理子进程机制剖析
2017/11/23 Python
python 常用的基础函数
2018/07/10 Python
python通过robert、sobel、Laplace算子实现图像边缘提取详解
2019/08/21 Python
解决flask接口返回的内容中文乱码的问题
2020/04/03 Python
如何用PyPy让你的Python代码运行得更快
2020/12/02 Python
X/HTML5 和 XHTML2
2008/10/17 HTML / CSS
优纳科技软件测试面试题
2012/05/15 面试题
房产公证委托书范本
2014/09/20 职场文书
杜甫草堂导游词
2015/02/03 职场文书
2015年小学数学教师个人工作总结
2015/05/25 职场文书
高中生军训感言
2015/08/01 职场文书
素质教育学习心得体会
2016/01/19 职场文书
Python获取字典中某个key的value
2022/04/13 Python
Windows Server 2019 配置远程控制以及管理方法
2022/04/28 Servers