我有一个使用js制作的数组,并使用ajax将其传递给我的控制器。
Ajax:
var values = [{FirstName: "fff"},{LastName: null}]
$.ajax({
method: "POST",
url: "/api/store-step",
data: { values: values, step: activePanelNum }
}).fail(function (jqXHR, textStatus, error,result) {
console.log(jqXHR.responseJSON.errors);
}).done(function( result ) {
console.log(result);
});
数组的结构是这样的:
[{FirstName: "fff"},{LastName: null}]
控制器:
public function storeSteps(Request $request)
{
$validator = Validator::make($request->values, [
'FirstName' => 'required',
'LastName' => 'required',
]);
if ($validator->fails()) {
return response()->json(['success'=>false, 'errors' => $validator->getMessageBag()->toArray()],422);
}
}
我无法使用请求验证Laravel验证此数组。现在,我将把这个数组变成一个Larval请求,以对其应用规则。
有人可以帮忙吗?
答案 0 :(得分:7)
您可以像这样验证数组元素
$validator = Validator::make($request->all(), [
'values' => 'required',
'values.*.FirstName' => 'required',
'values.*.lastName' => 'required','
]);
使用.
可以访问数组中的索引,并且*
可以处理数组中的所有索引。