diff --git a/app/Http/Requests/Auth/CompleteProfileRequest.php b/app/Http/Requests/Auth/CompleteProfileRequest.php new file mode 100644 index 0000000..a965852 --- /dev/null +++ b/app/Http/Requests/Auth/CompleteProfileRequest.php @@ -0,0 +1,38 @@ +has('socialite_user'); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array> + */ + public function rules(): array + { + return [ + 'username' => [ + 'required', 'string', 'max:255', 'alpha_dash', + function ($attribute, $value, $fail): void { + if (User::whereRaw('LOWER(username) = ?', [strtolower($value)])->exists()) { + $fail('The username has already been taken.'); + } + }, + ], + 'first_name' => ['required', 'string', 'max:255'], + 'last_name' => ['required', 'string', 'max:255'], + ]; + } +} diff --git a/app/Http/Requests/Auth/ForgotPasswordRequest.php b/app/Http/Requests/Auth/ForgotPasswordRequest.php new file mode 100644 index 0000000..e299e9e --- /dev/null +++ b/app/Http/Requests/Auth/ForgotPasswordRequest.php @@ -0,0 +1,28 @@ +> + */ + public function rules(): array + { + return [ + 'email' => ['required', 'email'], + ]; + } +} diff --git a/app/Http/Requests/Auth/LoginRequest.php b/app/Http/Requests/Auth/LoginRequest.php new file mode 100644 index 0000000..7168154 --- /dev/null +++ b/app/Http/Requests/Auth/LoginRequest.php @@ -0,0 +1,29 @@ +> + */ + public function rules(): array + { + return [ + 'login' => ['required', 'string'], + 'password' => ['required', 'string'], + ]; + } +} diff --git a/app/Http/Requests/Auth/RegisterRequest.php b/app/Http/Requests/Auth/RegisterRequest.php new file mode 100644 index 0000000..a79aa91 --- /dev/null +++ b/app/Http/Requests/Auth/RegisterRequest.php @@ -0,0 +1,41 @@ +> + */ + public function rules(): array + { + return [ + 'username' => [ + 'required', 'string', 'max:255', 'alpha_dash', + function ($attribute, $value, $fail): void { + if (User::whereRaw('LOWER(username) = ?', [strtolower($value)])->exists()) { + $fail('The username has already been taken.'); + } + }, + ], + 'first_name' => ['required', 'string', 'max:255'], + 'last_name' => ['required', 'string', 'max:255'], + 'email' => ['required', 'string', 'lowercase', 'email', 'max:255', 'unique:'.User::class], + 'password' => ['required', 'confirmed', Rules\Password::defaults()], + ]; + } +} diff --git a/app/Http/Requests/Auth/ResetPasswordRequest.php b/app/Http/Requests/Auth/ResetPasswordRequest.php new file mode 100644 index 0000000..fc698e0 --- /dev/null +++ b/app/Http/Requests/Auth/ResetPasswordRequest.php @@ -0,0 +1,31 @@ +> + */ + public function rules(): array + { + return [ + 'token' => ['required'], + 'email' => ['required', 'email'], + 'password' => ['required', 'confirmed', Rules\Password::defaults()], + ]; + } +}