之前系統已經引用了自定義表單驗證,但是隻通過POST
,PUT
方法去區別的話,有些介面驗證請求會重複
<?php
namespace App\Http\Requests;
use Symfony\Component\HttpKernel\Exception\HttpException; // 注意是丟擲這個型別的異常。
use Illuminate\Contracts\Validation\Validator;
use \Illuminate\Foundation\Http\FormRequest as BaseFormRequest;
class FormRequest extends BaseFormRequest{
//主要是重寫這個方法。
protected function failedValidation(Validator $validator)
{
throw new HttpException(401, $validator->errors()->first());
}
//獲取方法名字
public function getRouteActionName()
{
$action = $this->route()->getAction();
$controller = '@';
if (isset($action['uses'])) {
$controller = class_basename($action['uses']);
}
list($routeControllerName, $routeActionName) = explode('@', $controller);
return $routeActionName;
}
}
只需在各個子類中呼叫方法即可
本作品採用《CC 協議》,轉載必須註明作者和本文連結