Laravel:如何对单个元素使用验证器?

时间:2018-07-21 12:54:45

标签: laravel laravel-5 laravel-validation laravel-request

我正在尝试在函数中验证$id$offer_id

public function getMessagesForOffer($id, $offer_id)
{

    $validator = Validator::make($request->all(), [
        'id' => 'required|numeric',
        'offer_id' => 'required|numeric',
    ]);
    if ($validator->fails()) {
        return response([
            'status' => 'error',
            'error' => 'invalid.credentials',
            'message' => 'Invalid credentials'
        ], 400);
    }    
 }

这将引发错误:"message": "Undefined variable: request",

我发现它的编码不正确,当函数中没有请求时,如何纠正它与单个元素一起使用?

1 个答案:

答案 0 :(得分:1)

$request->all()只会返回数组,因此您也可以在此处使用数组,因此可以使用:

来代替$request->all()
['id' => $id, 'offer_id' => $offer_id]

或更短:

compact('id', 'offer_id')