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中的登陆login
Jan 18 PHP
php 攻击方法之谈php+mysql注射语句构造
Oct 30 PHP
基于php上传图片重命名的6种解决方法的详细介绍
Apr 28 PHP
PHP中isset()和unset()函数的用法小结
Mar 11 PHP
基于ThinkPHP实现批量删除
Dec 18 PHP
简单谈谈PHP中的include、include_once、require以及require_once语句
Apr 23 PHP
深入浅析yii2-gii自定义模板的方法
Apr 26 PHP
PHP框架Laravel插件Pagination实现自定义分页
Apr 22 PHP
PHP实现可添加水印与生成缩略图的图片处理工具类
Jan 16 PHP
Linux下源码包安装Swoole及基本使用操作图文详解
Apr 02 PHP
关于laravel后台模板laravel-admin select框的使用详解
Oct 03 PHP
PHP执行普通shell命令流程解析
Aug 24 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
第八节 访问方式 [8]
2006/10/09 PHP
基于php上传图片重命名的6种解决方法的详细介绍
2013/04/28 PHP
php中PDO方式实现数据库的增删改查
2015/05/17 PHP
用js得到网页中所有的div的id
2020/10/19 Javascript
JavaScript设计模式之工厂模式和构造器模式
2015/02/11 Javascript
jQuery ajax MD5实现用户注册即时验证功能
2016/10/11 Javascript
Thinkjs3新手入门之如何使用静态资源目录
2017/12/06 Javascript
微信小程序下拉刷新PullDownRefresh的使用方法
2018/11/29 Javascript
VUE中使用MUI方法
2019/02/12 Javascript
用js实现放大镜效果
2020/10/28 Javascript
[04:21]狐狸妈带你到现场 DOTA2 TI中国区预选赛线下赛路线指引
2014/05/22 DOTA
[01:22]DOTA2神秘商店携大量周边降临完美大师赛
2017/11/07 DOTA
用实例详解Python中的Django框架中prefetch_related()函数对数据库查询的优化
2015/04/01 Python
shelve  用来持久化任意的Python对象实例代码
2016/10/12 Python
python使用fork实现守护进程的方法
2017/11/16 Python
django 2.0更新的10条注意事项总结
2018/01/05 Python
python自动发邮件库yagmail的示例代码
2018/02/23 Python
python 对key为时间的dict排序方法
2018/10/17 Python
python实现弹跳小球
2019/05/13 Python
python关于调用函数外的变量实例
2019/12/26 Python
python json 递归打印所有json子节点信息的例子
2020/02/27 Python
python实现图像拼接
2020/03/05 Python
torchxrayvision包安装过程(附pytorch1.6cpu版安装)
2020/08/26 Python
20行Python代码实现一款永久免费PDF编辑工具的实现
2020/08/27 Python
Django数据模型中on_delete使用详解
2020/11/30 Python
8款精美的CSS3表单设计(登录表单/下拉选择/按钮附演示及源码)
2013/02/04 HTML / CSS
基于Html5实现的语音搜索功能
2019/05/13 HTML / CSS
HTML5 SEO优化的一些建议
2020/08/27 HTML / CSS
Lookfantastic美国/加拿大:英国知名美妆购物网站
2019/03/27 全球购物
瑞典香水、须后水和美容产品购物网站:Parfym-Klick.se
2019/12/29 全球购物
护理学中专毕业生求职信
2013/11/11 职场文书
电子商务应届生自我鉴定
2014/01/13 职场文书
工伤事故处理协议书怎么写
2014/10/15 职场文书
2015年初一班主任工作总结
2015/05/13 职场文书
《纸船和风筝》教学反思
2016/02/18 职场文书
《我要的是葫芦》教学反思
2016/02/18 职场文书