如何验证 laravel 5.3 中的数组?
How can I validate array in laravel 5.3?
我的情况是这样的:
我的看法:
{!! Form::open(['url' => 'product/store', 'class'=>'form-horizontal', 'method'=>'POST', 'files' => true]) !!}
...
<input type="file" class="form-control" name="photo[]" multiple>
...
{!! Form::close() !!}
我的控制器:
public function store(CreateProductRequest $request)
{
dd($request->all());
...
}
我这里设置为必填:
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class CreateProductRequest extends FormRequest
{
public function authorize()
{
return true;
}
public function rules()
{
return [
'name'=>'required',
...
'photo[]'=> 'required|mimes:jpeg,bmp,png,jpg|max:7024',
];
}
}
名称为数组时,无效
当我点击提交时,它会返回表单添加
我该如何解决这个问题?
'photo' => 'required|array',
'photo.*' => 'mimes:jpeg,bmp,png,jpg|max:7024'
对于像这样的关联数组:
$skills = [['id'=> 1, 'name' => 'photoshoot', photo => File], ['id'=>2, 'name'=> 'someskill', photo => File]];
对于数据库验证规则中的验证将是这样的:
'skills.*.id' => 'required|exists:skills,id',
'skills.*.photo' => 'required|mimes:jpeg,bmp,png,jpg|max:7024'
这样做。它会起作用。
'photo.*' => 'required|mimes:jpeg,bmp,png,jpg|max:7024'
如果您正在验证数组表单字段,您可以使用 * 字符检索每个数组元素的所有消息:
'photo.*' => 'required|mimes:jpeg,bmp,png,jpg|max:7024'
我的情况是这样的:
我的看法:
{!! Form::open(['url' => 'product/store', 'class'=>'form-horizontal', 'method'=>'POST', 'files' => true]) !!}
...
<input type="file" class="form-control" name="photo[]" multiple>
...
{!! Form::close() !!}
我的控制器:
public function store(CreateProductRequest $request)
{
dd($request->all());
...
}
我这里设置为必填:
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class CreateProductRequest extends FormRequest
{
public function authorize()
{
return true;
}
public function rules()
{
return [
'name'=>'required',
...
'photo[]'=> 'required|mimes:jpeg,bmp,png,jpg|max:7024',
];
}
}
名称为数组时,无效
当我点击提交时,它会返回表单添加
我该如何解决这个问题?
'photo' => 'required|array', 'photo.*' => 'mimes:jpeg,bmp,png,jpg|max:7024'
对于像这样的关联数组:
$skills = [['id'=> 1, 'name' => 'photoshoot', photo => File], ['id'=>2, 'name'=> 'someskill', photo => File]];
对于数据库验证规则中的验证将是这样的:
'skills.*.id' => 'required|exists:skills,id',
'skills.*.photo' => 'required|mimes:jpeg,bmp,png,jpg|max:7024'
这样做。它会起作用。
'photo.*' => 'required|mimes:jpeg,bmp,png,jpg|max:7024'
如果您正在验证数组表单字段,您可以使用 * 字符检索每个数组元素的所有消息:
'photo.*' => 'required|mimes:jpeg,bmp,png,jpg|max:7024'