今天在用thinkphp3.23时发现错误

NOTIC: [8] Undefined index: validate  此处是thinkphp核心目录\Think\Model.class.php 第 1185 行.

查看底层代码

  1. /**
  2. * 自动表单验证
  3. * @access protected
  4. * @param array $data 创建数据
  5. * @param string $type 创建类型
  6. * @return boolean
  7. */
  8. protected function autoValidation($data,$type) {
  9. if(false === $this->options['validate'] ){ //问题位置
  10. // 关闭自动验证
  11. return true;
  12. }

将其改为

  1. if(isset($this->options['validate']) && false === $this->options['validate'] ){

后未发现报错

最后查询各种资料和翻看tkinkphp的Model.class.php源码

原因如下:

// 链操作方法列表

protected $methods  =   array('strict','order','alias','having','group','lock','distinct','auto','filter','validate','result','token','index','force');

  1. public function __call($method,$args) {
  2. if(in_array(strtolower($method),$this->methods,true)) {
  3. // 连贯操作的实现
  4. $this->options[strtolower($method)] = $args[0];
  5. return $this;
  6. }elseif(in_array(strtolower($method),array('count','sum','min','max','avg'),true)){
  7. // 统计查询的实现
  8. $field = isset($args[0])?$args[0]:'*';
  9. return $this->getField(strtoupper($method).'('.$field.') AS tp_'.$method);
  10. }elseif(strtolower(substr($method,0,5))=='getby') {
  11. // 根据某个字段获取记录
  12. $field = parse_name(substr($method,5));
  13. $where[$field] = $args[0];
  14. return $this->where($where)->find();
  15. }elseif(strtolower(substr($method,0,10))=='getfieldby') {
  16. // 根据某个字段获取记录的某个值
  17. $name = parse_name(substr($method,10));
  18. $where[$name] =$args[0];
  19. return $this->where($where)->getField($args[1]);
  20. }elseif(isset($this->_scope[$method])){// 命名范围的单独调用支持
  21. return $this->scope($method,$args[0]);
  22. }else{
  23. E(__CLASS__.':'.$method.L('_METHOD_NOT_EXIST_'));
  24. return;
  25. }
  26. }

当我们如下:

  1. $this->shopModel =D('shop');
  2. $data = $this->shopModel->validate(222)->create();
  1. if(in_array(strtolower($method),$this->methods,true)) {
  2. // 连贯操作的实现
  3. $this->options[strtolower($method)] = $args[0];
  4. return $this;
    触发这段
  1. $this->options['validate']=222
    但是当我用模型的 protected $_validate时,而没有用动态验证时
  1. $this->options['validate']是不存在的
  1. if(false === $this->options['validate'] )就会出现
    上面的报错。
  2.  
  3. 同理在自动完成时也
    NOTIC: [8] Undefined index: auto
    是一样的原因
  1. if(isset($this->options['auto']) && false === $this->options['auto']){

即可。

  1.  
  1.  

Undefined index: validate(thinkphp)的更多相关文章

  1. PLSQL_性能优化索引Index介绍(概念)

    2014-06-01 BaoXinjian

  2. jQuery Validate (1)

    一.用前必备官方网站:http://bassistance.de/jquery-plugins/jquery-plugin-validation/ API: http://jquery.bassist ...

  3. Windows Phone本地数据库(SQLCE):6、[Index] attribute(翻译)(转)

    这是“windows phone mango本地数据库(sqlce)”系列短片文章的第六篇. 为了让你开始在Windows Phone Mango中使用数据库,这一系列短片文章将覆盖所有你需要知道的知 ...

  4. (thinkPHP)PHP常用函数大全

    usleep() 函数延迟代码执行若干微秒.unpack() 函数从二进制字符串对数据进行解包.uniqid() 函数基于以微秒计的当前时间,生成一个唯一的 ID.time_sleep_until() ...

  5. Fu+ 后台管理 (Thinkphp)

    简要:小主从事PHP二年,期间一直做后台;为此向大家分享我制作一个后台(权限),希望能够跟各位PHP大神学习探索,如果有不对或者好的建议告知下:*~*! 1. 介绍 Fu+ 后台管理,是本人基于H+好 ...

  6. thinkphp 去掉URL 里面的index.php(?s=)

    例如你的原路径是 http://localhost/test/index.php/home/goods/index.html 那么现在的地址是 http://localhost/test/home/g ...

  7. php(ThinkPHP)实现微信小程序的登录过程

    源码也在我的github中给出 https://github.com/wulongtao/think-wxminihelper 下面结合thinkPHP框架来实现以下微信小程序的登录流程,这些流程是结 ...

  8. solrCloud index search (图)

    结合网上的资料,抄袭了几张图,记录下. 1.solrcloud-collection/shard/replica 1.Replica.Leader是core的角色,在index.search的过程中作 ...

  9. jquery validate(转)

    转自:http://blog.sina.com.cn/s/blog_608475eb0100h3h1.html 官网地址:http://bassistance.de/jquery-plugins/jq ...

随机推荐

  1. Struts1防止表单重复提交

    package org.zln.struts.action; import org.apache.struts.action.Action; import org.apache.struts.acti ...

  2. [洛谷P2986][USACO10MAR]伟大的奶牛聚集Great Cow Gat…

    题目大意:给你一棵树,每个点有点权,边有边权,求一个点,使得其他所有点到这个点的距离和最短,输出这个距离 题解:树形$DP$,思路清晰,转移显然 卡点:无 C++ Code: #include < ...

  3. visio应用程序相关设置-选项-常规

    1.用户名称,可读写 ApplicationSettings.UserName m_Visio.Window.Application.Settings.UserName = "BEIJING ...

  4. BZOJ4785 [Zjoi2017]树状数组 【二维线段树 + 标记永久化】

    题目链接 BZOJ4785 题解 肝了一个下午QAQ没写过二维线段树还是很难受 首先题目中的树状数组实际维护的是后缀和,这一点凭分析或经验或手模观察可以得出 在\(\mod 2\)意义下,我们实际求出 ...

  5. 【NOIP模拟赛】书 数学+期望概率

    biubiu~~~ 对于这道傻题.........我考场上退了一个多小时才推出来这个东西是排列...........然后我打的dfs效率n!logInf正好n=9是最后一个能过的数结果前三个点的n全是 ...

  6. [Python]安装完pip、pygame后,仍然import pygame报错

    按照<python编程从入门到实践>上的教程下载了pygame的whl文件进行安装, 在cmd窗口里import pygame提示无错误,在IDEL里程序也能正常运行, 但是pycharm ...

  7. video视频在结束之后回到初始状态

    目前尝试了两种解决方案,但是方案1在安卓移动端无法生效(猜测是因为移动端安卓启动的是原生的视频播放控件的原因) 方案一: 重新load资源,这种方法比较简洁,但是在安卓下不适用 video.addEv ...

  8. [POI2014] KUR-Couriers(洛谷P3567)

    洛谷题目链接:[POI2014]KUR-Couriers 题目描述 Byteasar works for the BAJ company, which sells computer games. Th ...

  9. 知问前端——自动补全UI

    自动补全(autocomplete),是一个可以减少用户输入完整信息的UI工具.一般在输入邮箱.搜索关键字等,然后提取出相应完整字符串供用户选择. 调用autocomplete()方法 var hos ...

  10. Eclipse Tomcat部署项目没有加载新加的静态资源文件

    额,一直用MyEclipse,后来用Eclipse时,启动项目后去Tomcat webapps找对应文件夹,发现没有,才知道Eclipse 默认不往本地Tomcat部署. 1.eclipse不像MyE ...