|string> */ public function rules(): array { return [ 'fullname' => 'required|string|max:255', 'username' => 'required|string|max:255|unique:users,username,' . Auth::id(), 'email' => 'required|email|unique:users,email,' . Auth::id(), 'oldpassword' => 'required_with:password', 'password' => [ 'nullable', 'confirmed', 'string', 'min:6', 'regex:/[0-9!@#$%^&*(),.?":{}|<>]/'], ]; } /** * Get the custom messages for validation errors. * * @return array */ public function messages(): array { return [ 'fullname.required' => 'Nama lengkap harus diisi.', 'fullname.string' => 'Nama lengkap harus berupa teks.', 'fullname.max' => 'Nama lengkap tidak boleh lebih dari 255 karakter.', 'username.required' => 'Username harus diisi.', 'username.unique' => 'Username sudah digunakan! Silahkan pilih username lain.', 'email.required' => 'Email harus diisi.', 'email.email' => 'Format email tidak valid.', 'email.unique' => 'Email sudah digunakan! Silahkan pilih email lain.', 'oldpassword.required_with' => 'Kata sandi lama wajib diisi jika ingin mengubah kata sandi.', 'password.required' => 'Password harus diisi.', 'password.confirmed' => 'Konfirmasi kata sandi tidak cocok.', 'password.string' => 'Password harus berupa teks.', 'password.min' => 'Password minimal harus terdiri dari 6 karakter.', 'password.regex' => 'Password harus mengandung simbol dan angka.', ]; } }