thinkPHP自动验证、自动添加及表单错误问题分析


Posted in PHP onOctober 17, 2016

本文实例讲述了thinkPHP自动验证、自动添加及表单错误问题。分享给大家供大家参考,具体如下:

最近再做一个项目,想用thinkphp写验证,结果泪奔了几天。一开始就是令牌错误,后来有什么自动添加无效。

一直在测试,一直在查找,知道发现create()方法原来有两个参数,

第一个参数是大家都知道了数据参数,第二个是隐藏的$type参数,这个参数用来控制什么的呢??

//$type = $type?$type!empty($data[$this->getPk()])?self::MODEL_UPDATE:self::MODEL_INSERT);

仔细琢磨了这句话才发现,这个隐藏参数是用来指明本次数据库具体是什么操作的?

$type取值为  1即为插入操作,0即为更新操作,默认的情况下是不用给这个参数赋值的,原因是,系统能自动识别。

如果你的主键是数据库自动的添加的,那就没事。如果是手动添加,那就悲剧了。因为默认是更新数据操作。

下面是我写的自动完成的代码

protected $_auto = array(
array('password','sha1',1,'function'),
array('date', 'time', 1, 'function'),
);

看到那个1了没有,那个1表示是当插入数据是,才执行函数。PS:就是因为这个,纠结了我N久。

当要录入数据的时候您可以这么写:

create($_POST,1)//【插入数据】
create($_POST,2)//【更新数据】

直接告诉create方法此次操作是插入操作,这样可以解决自动完成时机不对问题,自动完成无效问题。

但你执意不要这么写,我也没办法,你只要记得,如果create()函数,默认为更新数据。写Model方法时。

thinkPHP自动验证、自动添加及表单错误问题分析

thinkphp 自动完成图

看到没有,

protected $_auto = array(
array('password','sha1',2,'function'),
array('date', 'time', 2, 'function'), //把1换成2就好了。
);

问题就可以解决了。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
PHP中的日期处理方法集锦
Jan 02 PHP
php 什么是PEAR?(第二篇)
Mar 19 PHP
php更改目录及子目录下所有的文件后缀扩展名的代码
Oct 12 PHP
PHP中Session引起的脚本阻塞问题解决办法
Apr 08 PHP
php数组随机排序实现方法
Jun 13 PHP
再推荐十款免费的php开发工具
Nov 09 PHP
PHP函数nl2br()与自定义函数nl2p()换行用法分析
Apr 02 PHP
Zend Framework入门教程之Zend_Db数据库操作详解
Dec 08 PHP
解析 thinkphp 框架中的部分方法
May 07 PHP
Laravel学习教程之View模块详解
Sep 18 PHP
thinkphp5 migrate数据库迁移工具
Feb 20 PHP
php ActiveMQ的安装与使用方法图文教程
Feb 23 PHP
PHP CURL post数据报错 failed creating formpost data
Oct 16 #PHP
PHPStrom 新建FTP项目以及在线操作教程
Oct 16 #PHP
php根据数据id自动生成编号的实现方法
Oct 16 #PHP
PHP结合Ueditor并修改图片上传路径
Oct 16 #PHP
jquery+thinkphp实现跨域抓取数据的方法
Oct 15 #PHP
php组合排序简单实现方法
Oct 15 #PHP
PHP中字符与字节的区别及字符串与字节转换示例
Oct 15 #PHP
You might like
BBS(php & mysql)完整版(一)
2006/10/09 PHP
Discuz 模板语句分析及知识技巧
2009/08/21 PHP
供参考的 php 学习提高路线分享
2011/10/23 PHP
PHP的可变变量名的使用方法分享
2012/02/05 PHP
基于curl数据采集之单页面并行采集函数get_htmls的使用
2013/04/28 PHP
跟我学Laravel之配置Laravel
2014/10/15 PHP
PHP入门教程之自定义函数用法详解(创建,调用,变量,参数,返回值等)
2016/09/11 PHP
兼容IE与firefox火狐的回车事件(js与jquery)
2010/10/20 Javascript
jQuery源码分析之Callbacks详解
2015/03/13 Javascript
jquery+css实现的红色线条横向二级菜单效果
2015/08/22 Javascript
使用微信内置浏览器点击下拉框出现页面乱跳转现象(iphone),该怎么办
2016/01/04 Javascript
全面解析JavaScript中的valueOf与toString方法(推荐)
2016/06/14 Javascript
js实现日历与定时器
2017/02/22 Javascript
axios基本入门用法教程
2017/03/25 Javascript
vue组件之Alert的实现代码
2017/10/17 Javascript
学习jQuery中的noConflict()用法
2018/09/28 jQuery
Vue实现简单分页器
2018/12/29 Javascript
微信小程序的开发范式BeautyWe.js入门详解
2019/07/10 Javascript
Python实现扫描指定目录下的子目录及文件的方法
2014/07/16 Python
Python def函数的定义、使用及参数传递实现代码
2014/08/10 Python
Django框架中数据的连锁查询和限制返回数据的方法
2015/07/17 Python
python+django快速实现文件上传
2016/10/24 Python
Python面向对象编程之继承与多态详解
2018/01/16 Python
Python cookbook(数据结构与算法)从任意长度的可迭代对象中分解元素操作示例
2018/02/13 Python
Django渲染Markdown文章目录的方法示例
2019/01/02 Python
解决pycharm工程启动卡住没反应的问题
2019/01/19 Python
python入门之基础语法学习笔记
2020/02/08 Python
越南综合购物网站:Lazada越南
2019/06/10 全球购物
英国领先的在线鱼贩:The Fish Society
2020/08/12 全球购物
思想政治教育专业个人求职信范文
2013/12/20 职场文书
人力资源经理自我评价
2014/01/04 职场文书
行政文秘岗位职责范本
2014/02/10 职场文书
干部现实表现材料
2014/02/13 职场文书
2014年元旦联欢会活动策划方案
2014/02/16 职场文书
区长工作作风个人整改措施
2014/10/01 职场文书
小班上学期幼儿评语
2014/12/30 职场文书