diff --git a/app/Http/Requests/Admin/PasswordRequest.php b/app/Http/Requests/Admin/PasswordRequest.php index 96947d6..8f76342 100644 --- a/app/Http/Requests/Admin/PasswordRequest.php +++ b/app/Http/Requests/Admin/PasswordRequest.php @@ -3,6 +3,7 @@ namespace App\Http\Requests\Admin; use Illuminate\Foundation\Http\FormRequest; +use Illuminate\Validation\Validator; class PasswordRequest extends FormRequest { @@ -17,7 +18,8 @@ public function authorize(): bool public function rules(): array { return [ - 'password' => 'required|min:8|confirmed', + 'password' => 'required|min:8|max:15|confirmed', + 'password_confirmation' => 'required|same:password', ]; } @@ -25,8 +27,24 @@ public function messages(): array { return [ 'required' => 'Kata sandi baru wajib diisi.', - 'min' => 'Kata sandi minimal :min karakter.', + 'min' => 'Kata sandi terlalu pendek, minimal :min karakter.', 'confirmed' => 'Konfirmasi kata sandi tidak cocok.', + 'password_confirmation.required' => 'Konfirmasi kata sandi wajib diisi.', + 'password_confirmation.same' => 'Konfirmasi kata sandi tidak cocok.' ]; } + public function withValidator(Validator $validator) + { + $validator->after(function ($validator) { + if ($validator->errors()->has('password')) { + $messages = $validator->errors()->get('password'); + foreach ($messages as $message) { + // Jika pesan error berisi tentang konfirmasi, tambahkan ke field konfirmasi + if ($message == 'Konfirmasi kata sandi tidak cocok.') { + $validator->errors()->add('password_confirmation', $message); + } + } + } + }); + } }