我正在使用 laravel 5.8 版本,我有一個負責注冊的 api,我創建了一個請求檔案,其中包含 rules() 和 messages() 函式來顯示錯誤訊息,但如果任何驗證失敗,它不會拋出任何錯誤訊息,為什么這樣正在發生有人可以解釋嗎?
UserController.php
<?php
namespace App\Http\Controllers;
use App\Http\Requests\userRequest;
use App\UserSection;
class UserController extends Controller
{
public function userRegister(userRequest $request){
//logic of my code
return response()->json($success);
}
}
userRequest.php
<?php
namespace App\Http\Requests;
use App\Rules\CustomRule;
use Illuminate\Foundation\Http\FormRequest;
class userRequest extends FormRequest
{
public function messages()
{
return [
'first_name.required' => 'A title is required',
];
}
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'first_name' => 'string|required|max:25',
'phone_number' => 'required|integer'
];
}
}
當我在沒有 first_name 鍵的情況下點擊路線時遇到的錯誤顯示 404 not found 錯誤
uj5u.com熱心網友回復:
您可能錯過了獲取表單資料的標題部分
Accept = application/json
uj5u.com熱心網友回復:
作為laravel 檔案
如果驗證失敗,將生成重定向回應以將用戶發送回之前的位置。錯誤也將閃現到會話中,以便顯示。如果請求是 AJAX 請求,將向用戶回傳帶有 422 狀態代碼的 HTTP 回應,其中包括驗證錯誤的 JSON 表示。
所以你需要指定你期望的回應型別,如果你使用郵遞員來測驗你的 api 端點,你必須在請求頭中添加Accept:application/json
<?php
namespace App\Http\Controllers;
use App\Http\Requests\userRequest;
use App\UserSection;
class UserController extends Controller
{
public function userRegister(userRequest $request){
//logic of my code
return response()->json($success);
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/445109.html
標籤:拉拉维尔 laravel-5.8
