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版
Oct 09 PHP
PHP开发中常用的三个表单验证函数使用小结
Mar 03 PHP
Eclipse中php插件安装及Xdebug配置的使用详解
Apr 25 PHP
下拉列表多级联动dropDownList示例代码
Jun 27 PHP
PHP把小数转成整数3种方法
Jun 30 PHP
PHP+FFMPEG实现将视频自动转码成H264标准Mp4文件
Sep 24 PHP
一个非常完美的读写ini格式的PHP配置类分享
Feb 12 PHP
php短网址和数字之间相互转换的方法
Mar 13 PHP
php中文繁体和简体相互转换的方法
Mar 21 PHP
nginx+thinkphp下解决不支持pathinfo模式
Jul 01 PHP
Win10 下安装配置IIS + MySQL + nginx + php7.1.7
Aug 04 PHP
TP5框架页面跳转样式操作示例
Apr 05 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/12 PHP
zf框架的Filter过滤器使用示例
2014/03/13 PHP
php数组索引与键值操作技巧实例分析
2015/06/24 PHP
php从身份证获取性别和出生年月
2017/02/09 PHP
JQuery 学习笔记 选择器之一
2009/07/23 Javascript
javascript 学习笔记(一)DOM基本操作
2011/04/08 Javascript
jquery操作HTML5 的data-*的用法实例分享
2014/08/17 Javascript
js 加密压缩出现bug解决方案
2014/11/25 Javascript
JavaScript中Cookie操作实例
2015/01/09 Javascript
javascript框架设计之类工厂
2015/06/23 Javascript
JavaScript中Boolean对象的属性解析
2015/10/21 Javascript
使用Bootstrap + Vue.js实现添加删除数据示例
2017/02/27 Javascript
JS实现页面打印功能
2017/03/16 Javascript
微信小程序动态生成二维码的实现代码
2018/07/25 Javascript
vue导出html、word和pdf的实现代码
2018/07/31 Javascript
JavaScript实现英语单词题库
2019/12/24 Javascript
微信浏览器左上角返回按钮监听的实现
2020/03/04 Javascript
Python 详解基本语法_函数_返回值
2017/01/22 Python
Python加密方法小结【md5,base64,sha1】
2017/07/13 Python
Python中使用Counter进行字典创建以及key数量统计的方法
2018/07/06 Python
python+influxdb+shell编写区域网络状况表
2018/07/27 Python
Python模拟简单电梯调度算法示例
2018/08/20 Python
Python文件如何引入?详解引入Python文件步骤
2018/12/10 Python
python将txt文档每行内容循环插入数据库的方法
2018/12/28 Python
树莓派动作捕捉抓拍存储图像脚本
2019/06/22 Python
python实现对变位词的判断方法
2020/04/05 Python
Jupyter Notebook 实现正常显示中文和负号
2020/04/24 Python
基于Python的接口自动化读写excel文件的方法
2021/01/15 Python
德国化妆品和天然化妆品网上商店:kosmetikfuchs.de
2017/06/09 全球购物
Wedgwood美国官网:英国骨瓷,精美礼品及家居装饰
2018/02/17 全球购物
如何拷贝一整个Java对象,包括它的状态
2013/12/27 面试题
给水排水工程专业毕业生推荐信
2013/10/28 职场文书
经典大学生求职信范文
2014/01/06 职场文书
《去年的树》教学反思
2014/04/11 职场文书
2014年学生会个人工作总结
2014/11/07 职场文书
oracle表分区的概念及操作
2021/04/24 Oracle