From 28e7344300480ea7fc1ffaf33bbb9f6603f33368 Mon Sep 17 00:00:00 2001 From: nocode Date: Thu, 11 Jul 2024 13:53:56 +0700 Subject: [PATCH] fix validate register --- .../Controllers/Api/AuthApiController.php | 18 ++--- app/Http/Requests/Api/RegisterApiRequest.php | 66 +++++++++++++++++++ 2 files changed, 76 insertions(+), 8 deletions(-) create mode 100755 app/Http/Requests/Api/RegisterApiRequest.php diff --git a/app/Http/Controllers/Api/AuthApiController.php b/app/Http/Controllers/Api/AuthApiController.php index 70c9572..48a2367 100755 --- a/app/Http/Controllers/Api/AuthApiController.php +++ b/app/Http/Controllers/Api/AuthApiController.php @@ -10,6 +10,7 @@ use Illuminate\Support\Facades\Hash; use App\Models\User; use App\Models\Agent; use App\Models\AgentUser; +use App\Http\Requests\Api\RegisterApiRequest; class AuthApiController extends BaseAuthApiController { @@ -79,15 +80,16 @@ class AuthApiController extends BaseAuthApiController return response()->json($data, 200); } - public function register(Request $request) + public function register(RegisterApiRequest $request) { - $validator = \Illuminate\Support\Facades\Validator::make($request->all(), [ - 'email' => 'required|email', - 'fullname' => 'required' - ]); - if ($validator->fails()) { - return $this->sendError('Validation Error.', $validator->errors()); - } + // $validator = \Illuminate\Support\Facades\Validator::make($request->all(), [ + // 'email' => 'required|email', + // 'fullname' => 'required' + // ]); + + // if ($validator->fails()) { + // return $this->sendError('Validation Error.', $validator->errors()); + // } if (empty($request->agents_code)) { return response()->json(['status' => true, 'message' => 'Đăng ký thất bại, vui lòng gửi lên mã đại lý.']); } diff --git a/app/Http/Requests/Api/RegisterApiRequest.php b/app/Http/Requests/Api/RegisterApiRequest.php new file mode 100755 index 0000000..bef666a --- /dev/null +++ b/app/Http/Requests/Api/RegisterApiRequest.php @@ -0,0 +1,66 @@ + + */ + public function rules() + { + return [ + 'email' => 'required|email|unique:users', + 'fullname' => 'required', + 'phone' => 'required|unique:users', + ]; + } + /** + * Get the error messages for the defined validation rules. + * + * @return array + */ + public function messages() + { + return [ + 'email.unique' => 'Địa chỉ email này đã được sử dụng.', + 'email.required' => 'Địa chỉ email không được trống.', + 'fullname.required' => 'Họ tên không được trống.', + 'phone.unique' => 'Số điện thoại này đã được sử dụng.', + 'phone.required' => 'Số điện thoại không được trống.', + // Các thông báo lỗi khác + ]; + } + /** + * Handle a failed validation attempt. + * + * @param \Illuminate\Contracts\Validation\Validator $validator + * @return void + * + * @throws \Illuminate\Http\Exceptions\HttpResponseException + */ + protected function failedValidation(Validator $validator) + { + throw new HttpResponseException(response()->json([ + 'status' => false, + 'errors' => $validator->errors() + ], 200)); + } + +}