【问题标题】:Make Laravel request from array with objects使用对象从数组发出 Laravel 请求
【发布时间】:2020-06-06 15:43:30
【问题描述】:

我有一个用 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);
    });

数组的结构是这样的:

[{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 请求来应用规则。

有人可以帮忙吗?

【问题讨论】:

    标签: arrays laravel validation laravel-5 request


    【解决方案1】:

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

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

    通过使用.,您可以访问数组中的索引,* 会苹果数组中的所有索引。

    【讨论】:

    • 除了上面的这个,你可能需要先json_decode()那个数组。
    • 这里的array_name是什么?
    • @MohammadHosseini 您需要以我的意思的名称传递您的数组。 array_name : [{FirstName: "fff"}, {LastName: null} ]
    • 这里我没有$maked_laravel_request_from_array 我想创建那个
    • 我更新问题并解释清楚我的问题。我想从数组发出 laravel 请求....意思是来自$request->values
    猜你喜欢
    • 1970-01-01
    • 2012-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-25
    • 1970-01-01
    • 2020-11-10
    • 2013-12-25
    相关资源
    最近更新 更多