我使用Laravel v 5.7.15。
我写这验证API请求验证帮手 - 这个作品成功了,我用一个try / catch之前,围绕着它。
我已经转移到处理的处理程序的例外,但是我不能让功能“渲染”运行 - 它直接进入了“报告”的文件在我鼓捣控制台异常抛出。
处理程序:(根据要求满级)
<?php
namespace App\Exceptions;
use Illuminate\Validation\ValidationException;
use Exception;
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
use App\Log;
class Handler extends ExceptionHandler
{
/**
* A list of the exception types that are not reported.
*
* @var array
*/
protected $dontReport = [
//
];
/**
* A list of the inputs that are never flashed for validation exceptions.
*
* @var array
*/
protected $dontFlash = [
'password',
'password_confirmation',
];
/**
* @param Exception $exception
* @return mixed|void
* @throws Exception
*/
public function report(Exception $exception)
{
parent::report($exception);
}
/**
* Render an exception into an HTTP response.
*
* @param \Illuminate\Http\Request $request
* @param \Exception $exception
* @return \Illuminate\Http\Response
*/
public function render($request, Exception $exception)
{
dd($exception);
$log = new Log();
$log->status = 2;
// Validate API incoming data
if ($exception instanceOf ValidationException) {
foreach ($exception->errors() as $error) {
// collect multiple validation errors
$message[] = implode('', $error);
}
$message = implode('', $message);
$log->message = $message;
$log->save();
$response = [
'message' => $message,
'status' => 400,
];
} else {
$response = [
'message' => $exception->getMessage(),
'status' => '500',
];
}
return parent::render($request, $exception);
}
}
这不能死,转储,不过,我可以在报表功能DD和能正常工作。该文件的其余部分已经保持不变,保存为包括在文件的顶部。
这是我叫我的验证在我的控制器:
$this->validate($request, BlueparkValidatorArrays::$getOrders);
如果有人能在正确的方向指向我,我将不胜感激。