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 相关文章推荐
pw的一个放后门的方法分析
Oct 08 PHP
处理php自动反斜杠的函数代码
Jan 05 PHP
php中使用explode查找某个字符是否存在的方法
Jul 12 PHP
深入解析php之apc
May 15 PHP
CodeIgniter基于Email类发邮件的方法
Mar 29 PHP
PHP单例模式是什么 php实现单例模式的方法
May 14 PHP
php 生成签名及验证签名详解
Oct 26 PHP
PHP实现的自定义数组排序函数与排序类示例
Nov 18 PHP
PHP设计模式之原型设计模式原理与用法分析
Apr 25 PHP
Yii2框架配置文件(Application属性)与调试技巧实例分析
May 27 PHP
PHP+ajax实现上传、删除、修改单张图片及后台处理逻辑操作详解
Feb 12 PHP
php设计模式之职责链模式实例分析【星际争霸游戏案例】
Mar 27 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
MYSQL数据库初学者使用指南
2006/11/16 PHP
php checkbox复选框值的获取与checkbox默认值输出方法
2010/05/15 PHP
php调用方法mssql_fetch_row、mssql_fetch_array、mssql_fetch_assoc和mssql_fetch_objcect读取数据的区别
2012/08/08 PHP
解析smarty模板中类似for的功能实现
2013/06/18 PHP
php中session退出登陆问题
2014/02/27 PHP
JQuery 动态扩展对象之另类视角
2010/05/25 Javascript
JS拖动技术 关于setCapture使用
2010/12/09 Javascript
javascript模拟地球旋转效果代码实例
2013/12/02 Javascript
IE浏览器下PNG相关功能
2015/07/05 Javascript
JS实现的最简Table选项卡效果
2015/10/14 Javascript
Node.js connect ECONNREFUSED错误解决办法
2016/09/15 Javascript
Javascript基础回顾之(一) 类型
2017/01/31 Javascript
微信小程序实现轮播图效果
2017/09/07 Javascript
javascript 开发之网页兼容各种浏览器
2017/09/28 Javascript
vue.js分页中单击页码更换页面内容的方法(配合spring springmvc)
2018/02/10 Javascript
JavaScript链式调用实例浅析
2018/12/19 Javascript
微信小程序wx.request的简单封装
2019/11/13 Javascript
JavaScript实现简单的计算器
2020/01/16 Javascript
js实现全选和全不选功能
2020/07/28 Javascript
vue-cli单页面预渲染seo-prerender-spa-plugin操作
2020/08/10 Javascript
js调用网络摄像头的方法
2020/12/05 Javascript
[01:03]悬念揭晓 11月26日DOTA2完美盛典不见不散
2017/11/23 DOTA
Python中的Numpy入门教程
2014/04/26 Python
Python3基础之条件与循环控制实例解析
2014/08/13 Python
python制作花瓣网美女图片爬虫
2015/10/28 Python
django rest framework 数据的查找、过滤、排序的示例
2018/06/25 Python
Python类绑定方法及非绑定方法实例解析
2020/10/09 Python
利用python为PostgreSQL的表自动添加分区
2021/01/18 Python
ECCO爱步官方旗舰店:丹麦鞋履品牌
2018/01/02 全球购物
好人好事演讲稿
2014/09/01 职场文书
校园新闻广播稿5篇
2014/10/10 职场文书
出国留学导师推荐信
2015/03/26 职场文书
物流仓管员岗位职责
2015/04/01 职场文书
小学见习报告
2015/06/23 职场文书
Java 超详细讲解hashCode方法
2022/04/07 Java/Android
超越Nginx的Web服务器caddy优雅用法
2022/06/21 Servers