add validation rules and messages for password confirmation in PasswordRequest

This commit is contained in:
LailaWulandarii 2026-02-14 13:51:33 +07:00
parent cfd11ecb9d
commit 0c69c2e8a4
1 changed files with 20 additions and 2 deletions

View File

@ -3,6 +3,7 @@
namespace App\Http\Requests\Admin; namespace App\Http\Requests\Admin;
use Illuminate\Foundation\Http\FormRequest; use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Validator;
class PasswordRequest extends FormRequest class PasswordRequest extends FormRequest
{ {
@ -17,7 +18,8 @@ public function authorize(): bool
public function rules(): array public function rules(): array
{ {
return [ 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 [ return [
'required' => 'Kata sandi baru wajib diisi.', '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.', '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);
}
}
}
});
}
} }