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 相关文章推荐
用文本文件制作留言板提示(上)
Oct 09 PHP
Bo-Blog专用的给Windows服务器的IIS Rewrite程序
Aug 26 PHP
shopex主机报错误请求解决方案(No such file or directory)
Dec 27 PHP
解析百度搜索结果link?url=参数分析 (全)
Oct 09 PHP
无需重新编译php加入ftp扩展的解决方法
Feb 07 PHP
解析php取整的几种方式
Jun 25 PHP
常用PHP框架功能对照表
Oct 23 PHP
smarty模板引擎基础知识入门
Mar 30 PHP
Symfony实现行为和模板中取得request参数的方法
Mar 17 PHP
PHP文字转图片功能原理与实现方法分析
Aug 31 PHP
PDO::getAttribute讲解
Jan 28 PHP
PHP面向对象程序设计子类扩展父类(子类重新载入父类)操作详解
Jun 14 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
漫威DC御用漫画家去世 他的表情包曾走红网络
2020/04/09 欧美动漫
PHP防注入安全代码
2008/04/09 PHP
SAE实时日志接口SDK用法示例
2016/10/09 PHP
PHP实现的激活用户注册验证邮箱功能示例
2017/06/06 PHP
在Laravel5中正确设置文件权限的方法
2019/05/22 PHP
php实现微信和支付宝支付的示例代码
2020/08/11 PHP
分析 JavaScript 中令人困惑的变量赋值
2007/08/13 Javascript
javascript网页关键字高亮代码
2008/07/30 Javascript
js正确获取元素样式详解
2009/08/07 Javascript
浅谈jQuery中对象遍历.eq().first().last().slice()方法
2014/11/26 Javascript
纯javascript模仿微信打飞机小游戏
2015/08/20 Javascript
JS实现带有3D立体感的银灰色竖排折叠菜单代码
2015/10/20 Javascript
原生javascript实现自动更新的时间日期
2016/02/12 Javascript
如何使用PHP+jQuery+MySQL实现异步加载ECharts地图数据(附源码下载)
2016/02/23 Javascript
AngularJS中指令的四种基本形式实例分析
2016/11/22 Javascript
详解webpack4.x之搭建前端开发环境
2019/03/28 Javascript
微信小程序学习笔记之本地数据缓存功能详解
2019/03/29 Javascript
详解vue开发中调用微信jssdk的问题
2019/04/16 Javascript
layui 对弹窗 form表单赋值的实现方法
2019/09/04 Javascript
vue项目中自定义video视频控制条的实现代码
2020/04/26 Javascript
纯JS实现五子棋游戏
2020/05/28 Javascript
Vue 解决通过this.$refs来获取DOM或者组件报错问题
2020/07/28 Javascript
Javascript如何递归遍历本地文件夹
2020/08/06 Javascript
python使用 HTMLTestRunner.py生成测试报告
2017/10/20 Python
Python语言实现百度语音识别API的使用实例
2017/12/13 Python
对dataframe数据之间求补集的实例详解
2019/01/30 Python
python监控nginx端口和进程状态
2019/09/06 Python
Python如何在DataFrame增加数值
2020/02/14 Python
Python递归函数特点及原理解析
2020/03/04 Python
Jupyter Notebook的连接密码 token查询方式
2020/04/21 Python
android面试问题与答案
2016/12/27 面试题
餐厅感恩节活动策划方案
2014/10/11 职场文书
工作保证书怎么写
2015/02/28 职场文书
2015年老干部工作总结
2015/04/23 职场文书
2016五一手机促销广告语
2016/01/28 职场文书
python实战之90行代码写个猜数字游戏
2021/04/22 Python