簡體   English   中英

Laravel驗證如何在沒有try catch的情況下將Exception作為Json返回?

[英]How does Laravel validation return Exception as Json without try catch?

我正在將異常日志建立到我的Laravel應用程序中,以便在發送標識為重要的錯誤時發送郵件或電報消息。 實際上,我在每個控制器函數上使用'try catch'塊來捕獲我的應用程序的任何部分所處理的異常。 我的問題是,Laravel驗證如何在不使用return句子的情況下將異常作為JSON響應return或者在每次調用時try catch塊?

我現在必須做什么到控制器:

someAction();

try {
    Model::someFunction($params);
catch (MyCustomException $e)
    return json()->response($e->getMessage(), 500); // Return json error if fails
}

return anotherAction();

我想對控制器做什么:

someAction();

Model::someFunction($params); // Return json error if fails and stop execution

return anotherAction();

Laravel驗證的內容:

someAction();

$request->validate($validationRules); // Return json error if validation fails and stop execution

return anotherAction();

你可以做一個驗證器

<?php

use Validator;
use Illuminate\Http\Request;

class MyController extends Controller {

    public function myFunction(Request $request)
    {
        $validator = Validator::make($request->all(), [
            'foo' => 'required',
            'bar' => 'required'
        ]);

        if ($validator->passes()) {

        }

        if ($validator->fails()) {

        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM