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 相关文章推荐
ADODB结合SMARTY使用~超级强
Nov 25 PHP
PHP 面向对象 PHP5 中的常量
May 05 PHP
php 传值赋值与引用赋值的区别
Dec 29 PHP
php入门学习知识点七 PHP函数的基本应用
Jul 14 PHP
PHP分多步骤填写发布信息的简单方法实例代码
Sep 23 PHP
php通过文件流方式复制文件的方法
Mar 13 PHP
PHP使用flock实现文件加锁的方法
Jul 01 PHP
PHP简单实现上一页下一页功能示例
Sep 14 PHP
php原生导出excel文件的两种方法(推荐)
Nov 19 PHP
php两点地理坐标距离的计算方法
Dec 29 PHP
PDO::quote讲解
Jan 29 PHP
PHP hebrev()函数用法讲解
Feb 21 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生成mysql的数据字典
2016/07/07 PHP
Thinkphp整合微信支付功能
2016/12/14 PHP
详解PHP中的序列化、反序列化操作
2017/03/21 PHP
php实现头像上传预览功能
2017/04/27 PHP
javascript parseInt与Number函数的区别
2010/01/21 Javascript
JQuery的read函数与js的onload不同方式实现
2013/03/18 Javascript
关于jQuery $.isNumeric vs. $.isNaN vs. isNaN
2013/04/15 Javascript
javascript ready和load事件的区别示例介绍
2013/08/30 Javascript
js获取指定日期周数以及星期几的小例子
2014/06/27 Javascript
jquery实现在页面加载的时自动为日期插件添加当前日期
2014/08/20 Javascript
jquery实现页面虚拟键盘特效
2015/08/08 Javascript
基于jQuery和CSS3制作响应式水平时间轴附源码下载
2015/12/20 Javascript
jQuery中hover与mouseover和mouseout的区别分析
2015/12/24 Javascript
js实现将json数组显示前台table中
2017/01/10 Javascript
Jquery实时监听input value的实例
2017/01/26 Javascript
JavaScript使用atan2来绘制箭头和曲线的实例
2017/09/14 Javascript
详解React Native 采用Fetch方式发送跨域POST请求
2017/11/15 Javascript
vue项目接口管理,所有接口都在apis文件夹中统一管理操作
2020/08/13 Javascript
微信小程序实现底部弹出模态框
2020/11/18 Javascript
用python实现的可以拷贝或剪切一个文件列表中的所有文件
2009/04/30 Python
pytorch 图像预处理之减去均值,除以方差的实例
2020/01/02 Python
Python读取excel文件中带公式的值的实现
2020/04/17 Python
基于python实现获取网页图片过程解析
2020/05/11 Python
Django视图、传参和forms验证操作
2020/07/15 Python
python调用私有属性的方法总结
2020/07/24 Python
TCP/IP模型的分界线
2012/12/01 面试题
山海经纬软件测试笔试题和面试题
2013/04/02 面试题
教育基金募捐倡议书
2014/05/14 职场文书
中职生自荐信范文
2014/06/15 职场文书
2014机关干部学习“焦裕禄精神”思想汇报
2014/09/19 职场文书
小学生成绩单评语
2014/12/31 职场文书
网上祭英烈活动总结
2015/02/04 职场文书
2015年药房工作总结
2015/04/25 职场文书
2015年社区工会工作总结
2015/05/26 职场文书
Nginx location 和 proxy_pass路径配置问题小结
2021/09/04 Servers
Nginx报404错误的详细解决方法
2022/07/23 Servers