我的情况就是这样
我的观点是这样的:
@for($i = 0; $i < 5; $i++)
<input type="hidden" name="photo-{{$i}}">
...
@endfor
我的规则是这样的:
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class CreateProductRequest extends FormRequest
{
public function authorize()
{
return true;
}
public function rules()
{
return [
...
'photo-0'=> 'required'
];
}
}
我的控制器是这样的:
public function store(CreateProductRequest $request)
{
dd($request->all());
}
从代码中,名称photo-0是必需的
但我想让它成为恐怖的
因此不需要照片0,但至少需要一张照片
例如photo-0没有值,但是photo-3有值,那么它可以在store方法中运行语句
我该怎么做?
更新:
如果我分析它,似乎返回数组中会有一个循环(在rules方法中)。这可能吗?
我试着这样:
public function rules()
{
for($i = 0; $i < 5; $i++){
$photo[] = 'photo-'.$i;
}
return [
...
'photo'=> 'required'
];
}
但它不起作用
答案 0 :(得分:0)
请检查以下视图和控制器代码,它可以正常工作,因此您可以根据此
调整视图代码视图
<body>
<form method="post" action="/testingFiles" enctype="multipart/form-data">
{{csrf_field()}}
<input type="file" name="filesUpload[]">
<input type="file" name="filesUpload[]">
<input type="file" name="filesUpload[]">
<button type="submit">Submit</button>
</form>
@if (count($errors))
<ul>
@foreach($errors->all() as $error)
<li>{{$error}}</li>
@endforeach
</ul>
@endif
控制器代码
public function store(Request $request)
{
$this->validate($request, [
'filesUpload' => 'required'
]);
dd($request->all());
}