我发送了一个JSON对象数组,并将其与其他数据一起发布到DB:
{
"emotions":[
{
"id":1,
"intensity":67,
"new_intensity":67
},
{
"id":2,
"intensity":67,
"new_intensity":67
},
{
"id":3,
"intensity":64,
"new_intensity":64
},
{
"id":4,
"intensity":64,
"new_intensity":64
},
{
"id":5,
"intensity":64,
"new_intensity":64
}
],
"situation":"An event",
}
我想做的是验证situation
和emotions[{},{}]
json数组:
控制器
public function store(Request $request)
{
$this->validate($request, [
'situation' => 'required',
]);
$data = ['data' => $request->input('emotions')];
$this->validate($data, [
'data.*.id' => 'digits:2|between:1,70',
'data.*.intensity' => 'digits:3|between:1,100',
'data.*.new_intensity' => 'digits:3|between:1,100'
]);
}
错误
传递给App\Http\Controllers\Controller::validate()的参数1必须是Illuminate\Http\Request的示例,给定数组
我希望能够合并这两种验证方法,但我不知道如何做到这一点?
Here is the answer I got my first try from
2条答案
按热度按时间8mmmxcuj1#
你可以使用数组验证器。下面的代码可以帮助你实现这一点
您可以检查它是否失败并执行所需的操作
5hcedyr02#
它不应该工作。因为数组是数组的
JSON
对象。我也面临着类似的问题。