Laravel 5.4 $ this->验证控制器中的错误处理

时间:2018-05-24 08:26:05

标签: laravel

我在 Laravel 5.4 中有一个应用。现在我想验证一个请求,但也要处理控制器中的错误。现在它重定向回来了,我不想要那个。

我如何在Laravel 5.4中实现这一目标?

public function upload(Request $request){
    $this->validate($request, [
        'file' => 'required|max:1000|mimes:jpg',
    ]);

    if(**errors**){
        // do this
        abort(Response::HTTP_REQUEST_ENTITY_TOO_LARGE);//example
    }else{
        //do that
        abort(Response::HTTP_OK);//example

    }
}

1 个答案:

答案 0 :(得分:3)

$this->validate()验证用户输入并返回上一页,错误存储在$errors变量中。

您可以使用Validator::make()来验证用户输入但不返回上一页。

这样的事情:

// Create validation
$validator = Validator::make($request->all(), 
    array('file' => 'required|max:1000|mimes:jpg')
);

// Check validation
if ($validator->fails())
{
    // The given data did not pass validation
}

取自Laravel docs https://laravel.com/docs/5.4/validation#manually-creating-validators