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 相关文章推荐
详细介绍:Apache+PHP+MySQL配置攻略
Sep 05 PHP
php缓存技术介绍
Nov 25 PHP
PHP注释实例技巧
Oct 03 PHP
鸡肋的PHP单例模式应用详解
Jun 03 PHP
解决PHP超大文件下载,断点续传下载的方法详解
Jun 06 PHP
探讨:parse url解析URL,返回其组成部分
Jun 14 PHP
thinkphp实现图片上传功能分享
Mar 04 PHP
php中使用sftp教程
Mar 30 PHP
php打造智能化的柱状图程序,用于报表等
Jun 19 PHP
PHP strcmp()和strcasecmp()的区别实例
Nov 05 PHP
PHP中大括号'{}'用法实例总结
Feb 08 PHP
Laravel 5.5 的自定义验证对象/类示例代码详解
Aug 29 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
PHP怎样调用MSSQL的存储过程
2006/10/09 PHP
centos 5.6 升级php到5.3的方法
2011/05/14 PHP
PhpMyAdmin出现export.php Missing parameter: what /export_type错误解决方法
2012/08/09 PHP
php计算给定时间之前的函数用法实例
2015/04/03 PHP
给WordPress中的留言加上楼层号的PHP代码实例
2015/12/14 PHP
Twig模板引擎用法入门教程
2016/01/20 PHP
apache php mysql开发环境安装教程
2016/07/28 PHP
php 二维数组快速排序算法的实现代码
2017/10/17 PHP
jquery下checked取值问题的解决方法
2012/08/09 Javascript
jQuery中RadioButtonList的功能及用法实例介绍
2013/08/23 Javascript
使用原生JS实现弹出层特效
2014/12/22 Javascript
JavaScript中的Truthy和Falsy介绍
2015/01/01 Javascript
jQuery中position()方法用法实例
2015/01/16 Javascript
js正则表达式中exec用法实例
2015/07/23 Javascript
js代码验证手机号码和电话号码是否合法
2015/07/30 Javascript
微信小程序通过api接口将json数据展现到小程序示例
2017/01/20 Javascript
微信小程序 this和that详解及简单实例
2017/02/13 Javascript
jQuery滚动插件scrollable.js用法分析
2017/05/25 jQuery
Vue基于vuex、axios拦截器实现loading效果及axios的安装配置
2019/04/26 Javascript
详解vite+ts快速搭建vue3项目以及介绍相关特性
2021/02/25 Vue.js
python 图片验证码代码分享
2012/07/04 Python
Python 中的lambda函数介绍
2018/10/10 Python
使用Python OpenCV为CNN增加图像样本的实现
2019/06/10 Python
利用python实现周期财务统计可视化
2019/08/25 Python
移动端Html5页面生成图片解决方案
2018/08/07 HTML / CSS
澳大利亚吉他在线:Artist Guitars
2017/03/30 全球购物
Lampegiganten丹麦:欧洲领先的照明网上商店
2018/04/25 全球购物
香港莎莎官网Sasa.com:亚洲著名国际化妆品商城
2019/11/10 全球购物
必须要使用游标的SQL语句有那些
2012/05/07 面试题
厨师岗位职责
2013/11/12 职场文书
法律专业学生的自我评价
2014/02/07 职场文书
做一个有道德的人活动方案
2014/08/25 职场文书
干部对照检查材料范文
2014/08/26 职场文书
2014年安全生产工作总结
2014/11/13 职场文书
2014年采购员工作总结
2014/11/18 职场文书
浅谈Python数学建模之数据导入
2021/06/23 Python