问题描述
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);
}