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 相关文章推荐
Uchome1.2 1.5 代码学习 common.php
Apr 24 PHP
简单的php中文转拼音的实现代码
Feb 11 PHP
thinkphp缓存技术详解
Dec 09 PHP
php使用PDO方法详解
Dec 27 PHP
PHP实现的简易版图片相似度比较
Jan 07 PHP
CodeIgniter读写分离实现方法详解
Jan 20 PHP
PHP mysqli_free_result()与mysqli_fetch_array()函数详解
Sep 21 PHP
php微信高级接口调用方法(自定义菜单接口、客服接口、二维码)
Nov 28 PHP
thinkphp修改配置进入默认首页的方法
Feb 07 PHP
thinkphp 中的volist标签在ajax操作中的特殊性(推荐)
Jan 15 PHP
php使用socket调用http和smtp协议实例小结
Jul 26 PHP
解决Laravel blade模板转义html标签的问题
Sep 03 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一些服务器端特性的配置加强php的安全
2006/10/09 PHP
浅谈PHP 闭包特性在实际应用中的问题
2009/10/30 PHP
PHP限制页面只能在微信自带浏览器访问的代码
2014/01/15 PHP
mod_php、FastCGI、PHP-FPM等PHP运行方式对比
2015/07/02 PHP
PHP编写文件多服务器同步程序
2016/07/02 PHP
php通过会话控制实现身份验证实例
2016/10/18 PHP
如何用js控制css中的float的代码
2007/08/16 Javascript
ExtJs grid行 右键菜单的两种方法
2010/06/19 Javascript
Textarea与懒惰渲染实现代码
2012/01/04 Javascript
js限制文本框输入长度两种限制方式(长度、字节数)
2012/12/19 Javascript
js面向对象之静态方法和静态属性实例分析
2015/01/10 Javascript
jquery实现浮动的侧栏实例
2015/06/25 Javascript
JavaScript设置表单上传时文件个数的方法
2015/08/11 Javascript
浅谈$('div a') 与$('div>a')的区别
2016/07/18 Javascript
jQuery获取Table某列的值(推荐)
2017/03/03 Javascript
Vue实现点击时间获取时间段查询功能
2020/08/21 Javascript
微信小程序开发实现消息推送
2020/11/18 Javascript
基于JQuery和DWR实现异步数据传递
2020/10/16 jQuery
浅谈python字符串方法的简单使用
2016/07/18 Python
Python编写Windows Service服务程序
2018/01/04 Python
利用python将json数据转换为csv格式的方法
2018/03/22 Python
sublime python3 输入换行不结束的方法
2018/04/19 Python
Python 对输入的数字进行排序的方法
2018/06/23 Python
python实现简单的单变量线性回归方法
2018/11/08 Python
Django发送邮件和itsdangerous模块的配合使用解析
2019/08/10 Python
关于python scrapy中添加cookie踩坑记录
2020/11/17 Python
Hertz荷兰:荷兰和全球租车
2018/01/07 全球购物
有影响力的品牌之家:Our Social Collective
2019/06/08 全球购物
Hotels.com越南:酒店预订
2019/10/29 全球购物
大学毕业生简单自荐信
2013/11/05 职场文书
公司活动方案范文
2014/03/06 职场文书
学雷锋树新风演讲稿
2014/05/10 职场文书
上班迟到检讨书
2014/09/15 职场文书
郭明义电影观后感
2015/06/08 职场文书
搞笑的婚礼主持词
2015/06/29 职场文书
2016年大学校运会广播稿件
2015/12/21 职场文书