Dcat Admin 动态显示的表单,提交时没有值
环境
Mac OS
Laravel:8.83.27
PHP:7.3
描述
我使用Form::make生成表单,部分表单的显示通过URL的参数显示,例如参数category_id=1就显示某个表单,实现动态表单功能。
简化代码如下:
其中warehouse_report字段并不存在于模型Lease中,而是自行设置的。
protected function form()
{
return Form::make(\App\Models\Lease::class, function (Form $form) {
$categoryId = request()->get('category_id');
if ($categoryId == 1) {
$form->multipleImage('warehouse_report', '验证报告')->autoUpload()->uniqueName();
}
});
}
问题
我在没有使用if条件判断的时候,加载出页面,上传图片,提交表单,提交载荷中存在warehouse_report字段和它的值,但是使用if后,先设置URL中参数为2(不显示表单),后来设置成1(显示表单),此时上传图片提交内容,载荷中warehouse_report字段的值就是空的
为什么会这样呢?怎么才能表单有值?
截图
无判断
有判断提交
PS:为什么不用when做动态表单?
因为表单是必填的,提交时没有使用的隐藏表单会阻碍提交,且有同名column提交问题。
推荐文章: