route('id'); return [ 'nama' => 'required|string|min:5|max:100', 'username' => 'required|string|alpha_num|max:10|unique:users,username,' . $adminId . ',id_user', 'email' => 'required|email:dns|unique:users,email,' . $adminId . ',id_user', 'no_wa' => 'required|numeric|digits_between:10,15', 'role' => 'required|in:admin_foto,admin_buket', 'alamat' => 'required|string|max:200', ]; } public function messages(): array { return [ 'required' => 'Kolom :attribute wajib diisi.', 'unique' => ':attribute sudah terdaftar di sistem, gunakan yang lain.', 'min' => ':attribute minimal harus berisi :min karakter.', 'max' => ':attribute maksimal hanya boleh :max karakter.', 'numeric' => ':attribute harus berupa angka.', 'digits_between' => ':attribute harus berjumlah antara :min sampai :max digit.', 'email' => 'Format :attribute tidak valid.', 'alpha_dash' => ':attribute hanya boleh berisi huruf, angka, serta simbol - dan _', 'in' => ':attribute yang dipilih tidak sesuai pilihan yang tersedia.', ]; } public function attributes(): array { return [ 'nama' => 'nama lengkap', 'username' => 'username', 'email' => 'alamat email', 'no_wa' => 'nomor WA', 'role' => 'peran admin', 'alamat' => 'alamat lengkap', ]; } /** * Penanganan khusus agar Modal tetap terbuka saat validasi gagal. */ protected function failedValidation(Validator $validator) { $redirect = redirect()->back()->withErrors($validator)->withInput(); if ($this->isMethod('post')) { $redirect->with('error_modal', 'create'); } else { $redirect->with('error_id', $this->route('id')); } throw new HttpResponseException($redirect); } }