问题描述
前端传空数组
[]
,php接收后处理不当插入数据库时报错Array to string conversion
参数示例
模型验证规则
- title: 必填/字符串
- content: 非必填/字符串
php代码
错误原因
空数组
[]
,php类型判定为array
,但为空判定为true
.导致没有被json_encode转义.在模型的validate方法中,又因为是空,没有被验证类型,导致最终以数组格式进行数据库insert
报错
yii2框架模型验证validate方法
因为$this->isEmpty($model->$attribute)
判定为true,进行了跳过,所以没有验证
解决方法
- 模型验证改为必填: required
- 针对前端传递的非必填数组类型参数,使用
isset
和is_array
进行判断是否需要json_encode
__EOF__
本文作者:coding在路上
本文链接:https://www.cnblogs.com/zyilong/p/16575112.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/zyilong/p/16575112.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!