如何在流明中获取验证错误消息?

问题描述

public function register(Request $request){
    $this->validate($request,[
        'username' => 'required|string|unique:users','password' => 'required|string|min:8','first_name' => 'required|string','last_name' => 'required|string','email' => 'required|email|unique:users',]);

    try {
        $user = new User;
        $user->username= $request->input('username');
        $user->password =Hash::make($request->input('password'));
        $user->first_name = $request->input('first_name');
        $user->last_name = $request->input('last_name');
        $user->email = $request->input('email');
        $user->save();
    } catch (Exception $e) {
        return response()->json(['error' => 'Registration Failed'],403); 
    }
}

这是典型的响应得到:

"message": "The given data was invalid.","status_code": 500

这并不能说明失败的确切验证规则。 我该如何解决

解决方法

您可以执行以下操作:

try {
    $this->validate($request,[
        'username'  => 'required|string|unique:users','password'  => 'required|string|min:8','first_name' => 'required|string','last_name'  => 'required|string','email'     => 'required|email|unique:users',]);
}
catch (\Illuminate\Validation\ValidationException $ex ) {       
    $errors = $ex->errors();
    return response()->json($errors,422);
}