使用对象从数组发出 Laravel 请求

Moh*_*ini 1 arrays validation request laravel laravel-5

我有一个数组,它用 js 在前端制作,然后用 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);
    });
Run Code Online (Sandbox Code Playgroud)

数组的结构是这样的:

[{FirstName: "fff"},{LastName: null}]
Run Code Online (Sandbox Code Playgroud)

控制器:

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);
        }
}
Run Code Online (Sandbox Code Playgroud)

我无法使用请求验证 Laravel 来验证此数组。现在我要把这个数组变成一个 Larval 请求来应用规则。

任何人都可以帮忙吗?

Cha*_*ara 7

您可以像这样验证数组元素

$validator = Validator::make($request->all(), [
            'values' => 'required',
            'values.*.FirstName' => 'required',
            'values.*.lastName' => 'required','
        ]);
Run Code Online (Sandbox Code Playgroud)

通过使用,.您可以访问数组中的*索引并将数组中的所有索引删除。