ThinkPHP3.1新特性之动态设置自动完成和自动验证示例


Posted in PHP onJune 19, 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 empty,isset,is_null判断比较(差异与异同)
Oct 19 PHP
php中通过正则表达式下载内容中的远程图片的函数代码
Jan 10 PHP
mac下安装nginx和php
Nov 04 PHP
PHP中生成UUID自定义函数分享
Jun 10 PHP
php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)
Dec 21 PHP
PHP文件上传问题汇总(文件大小检测、大文件上传处理)
Dec 24 PHP
全面解读PHP的Yii框架中的日志功能
Mar 17 PHP
Laravel路由设定和子路由设定实例分析
Mar 30 PHP
Laravel+jQuery实现AJAX分页效果
Sep 14 PHP
php打开本地exe程序,js打开本地exe应用程序,并传递相关参数方法
Feb 06 PHP
laravel框架中间件 except 和 only 的用法示例
Jul 12 PHP
PHP如何防止用户重复提交表单
Dec 09 PHP
ThinkPHP的Widget扩展实例
Jun 19 #PHP
ThinkPHP3.1的Widget新用法
Jun 19 #PHP
ThinkPHP3.1新特性之命名范围的使用
Jun 19 #PHP
ThinkPHP3.1新特性之Action参数绑定
Jun 19 #PHP
ThinkPHP3.1新特性之多层MVC的支持
Jun 19 #PHP
php定界符
Jun 19 #PHP
php获取网页中图片、DIV内容的简单方法
Jun 19 #PHP
You might like
无线电广播的开始
2002/01/30 无线电
PHP中使用glob函数实现一句话删除某个目录下的所有文件
2014/07/22 PHP
php+ajax简单实现全选删除的方法
2016/12/06 PHP
学习thinkphp5.0验证类使用方法
2017/11/16 PHP
PHP多维数组指定多字段排序的示例代码
2018/05/16 PHP
php实现在线考试系统【附源码】
2018/09/18 PHP
永不消失的title提示代码
2007/02/15 Javascript
JavaScript Date对象 日期获取函数
2010/12/19 Javascript
表单类各种类型(文本框)失去焦点效果jquery代码
2013/04/26 Javascript
结合JQ1.9通过js正则判断各种浏览器版本的方法
2013/12/30 Javascript
js+div实现图片滚动效果代码
2014/02/10 Javascript
jquery1.10给新增元素绑定事件的方法
2014/03/06 Javascript
jquery attr方法获取input的checked属性问题
2014/05/26 Javascript
Javascript获取CSS伪元素属性的实现代码
2014/09/28 Javascript
jQuery实现的在线答题功能
2015/04/12 Javascript
JavaScript中的toUTCString()方法使用详解
2015/06/12 Javascript
jQuery根据元素值删除数组元素的方法
2015/06/24 Javascript
jquery datatable服务端分页
2016/08/31 Javascript
cordova入门基础教程及使用中遇到的一些问题总结
2017/11/14 Javascript
Vue 源码分析之 Observer实现过程
2018/03/29 Javascript
微信小程序实现收藏与取消收藏切换图片功能
2018/08/03 Javascript
angularjs http与后台交互的实现示例
2018/12/21 Javascript
JS异步执行结果获取的3种解决方式
2019/02/19 Javascript
微信小程序换肤功能实现代码(思路详解)
2020/08/25 Javascript
在Python中使用pngquant压缩png图片的教程
2015/04/09 Python
Django1.9 加载通过ImageField上传的图片方法
2018/05/25 Python
Python + opencv对拍照得到的图片进行背景去除的实现方法
2020/11/18 Python
Bootstrap 学习分享
2012/11/12 HTML / CSS
英国最大的百货公司:Harrods
2016/08/18 全球购物
主题酒店策划书
2014/01/28 职场文书
出纳试用期自我鉴定
2014/04/07 职场文书
项目委托协议书(最新)
2014/09/13 职场文书
旅游安全责任协议书
2016/03/22 职场文书
导游词之张家口
2019/12/13 职场文书
html中两种获取标签内的值的方法
2022/06/16 jQuery
前端canvas中物体边框和控制点的实现示例
2022/08/05 Javascript