多图上传,编辑的时候提示图片不能为空?
给商品增加多图展示,字段为 images,字段类型为 JSON。
在模型中定义了字段属性:
protected $casts = [
'images' => 'array',
'on_sale' => 'boolean',
];
在商品控制中定义多图表单:
$form->multipleImage('images', '展示图片')
->rules('required')
->uniqueName()
->removable();
新增商品时,图片上传无误,但是编辑的时候点击提交按钮,提示 图片不能为空

关于 LearnKu
是不是设置的上传图片路径有问题
@sunnylin 路径没问题,数据库有值
1、配置的图片存放地址是否正确
2、前端是否检测到图片存在
@sunnylin 哥 这两项不正确图片不会显示的吧
按你的代码,出现这个错误,怀疑是字段设置的问题,可以试一试 json 格式
@sunnylin
images字段在数据库的类型是JSON,在模型里面把类型转换成了ArrayModels\Product.php
如果再添加一个图片就不会报你的错误,怀疑是产品控制器的 detail 没有解析正确
@sunnylin
不是,是这样的,
Product表有两个字段,一个是cover(封面),一个是images(展示图片)报错是在编辑提交的时候报错,跟
detail()没关系知道是编辑提交时报的错,将规则改为下面这样
@sunnylin 改成这样不符合逻辑啊,要的是不能为空,不能用
nullable这样试一试
@leo 求教:pensive:
@song 求教 :flushed:
编辑的时候是什么意思?
@pugOreo 就是提交更新的时候返回了错误
@xiaocao laravel-admin 1.6+ 有图片显示,未对图片进行编辑,提交编辑更新,报错
图片为空。原因在于,编辑状态,admin假定新增时的图片值为默认底图,而底图就是你看到的图片显示。在编辑状态 ,对于图片这种类似文件类型的表单input元素,如果没有添入图片(或换图),无论是单图,还是多图在编辑后提交 ,会使用上传文件对象(即编辑时没传图片没此对象,就报错)验证规则。因此,如果不想每次编辑状态,在有图情况下,未改图,却报图片为空。你可以这样做@pardon110 这么做的话,如果编辑时把图片全部删除了,不上传图片也能通过,那与原本逻辑不符,图片字段不可为空的话,数据库还是会报错的