['required', 'string', 'max:255'], 'jenis_kelamin' => ['required', 'boolean'], 'tempat_lahir' => ['required', 'string', 'max:255'], 'tanggal_lahir' => ['required', 'date_format:d-m-Y'], 'pendidikan_terakhir' => ['required', Rule::enum(Pendidikan::class)], 'alamat' => ['required', 'string', 'max:500'], 'provinsi_id' => ['bail', 'required', 'integer', 'exists:master_provinsi,id'], 'kabupaten_id' => ['bail', 'required', 'integer', 'exists:master_kabupaten_kota,id'], 'kecamatan_id' => ['bail', 'required', 'integer', 'exists:master_kecamatan,id'], 'desa_kelurahan_id' => ['bail', 'required', 'integer', 'exists:master_desa_kelurahan,id'], 'nomor_telepon' => ['nullable', 'digits_between:11,13'], 'jabatan' => ['required', Rule::enum(JabatanBumdes::class)], 'jabatan_lainnya' => ['nullable', 'required_if:jabatan,'.JabatanBumdes::LAINNYA->value, 'string', 'max:255'], 'lama_menjabat_tahun' => ['required', 'integer', 'min:0', 'max:80'], ...$this->sectionRules('profil'), ]; } public function messages(): array { return [ ...parent::messages(), 'nama.required' => 'Nama harus diisi.', 'jenis_kelamin.required' => 'Jenis kelamin harus dipilih.', 'tempat_lahir.required' => 'Tempat lahir harus diisi.', 'tanggal_lahir.required' => 'Tanggal lahir harus diisi.', 'tanggal_lahir.date_format' => 'Tanggal lahir harus menggunakan format tanggal yang valid.', 'pendidikan_terakhir.required' => 'Pendidikan terakhir harus dipilih.', 'alamat.required' => 'Alamat harus diisi.', 'provinsi_id.required' => 'Provinsi wajib dipilih.', 'kabupaten_id.required' => 'Kabupaten/Kota wajib dipilih.', 'kecamatan_id.required' => 'Kecamatan wajib dipilih.', 'provinsi_id.integer' => 'Pilihan Provinsi tidak valid.', 'kabupaten_id.integer' => 'Pilihan Kabupaten/Kota tidak valid.', 'kecamatan_id.integer' => 'Pilihan Kecamatan tidak valid.', 'desa_kelurahan_id.integer' => 'Pilihan Desa/Kelurahan tidak valid.', 'provinsi_id.exists' => 'Provinsi tidak ditemukan.', 'kabupaten_id.exists' => 'Kabupaten/Kota tidak ditemukan.', 'kecamatan_id.exists' => 'Kecamatan tidak ditemukan.', 'desa_kelurahan_id.required' => 'Desa kelurahan harus dipilih.', 'desa_kelurahan_id.exists' => 'Desa kelurahan tidak ditemukan.', 'nomor_telepon.digits_between' => 'Nomor telepon harus berupa angka 11 sampai 13 digit.', 'jabatan.required' => 'Jabatan/peran harus dipilih.', 'jabatan_lainnya.required_if' => 'Jabatan lainnya harus diisi.', 'lama_menjabat_tahun.required' => 'Lama menjabat harus diisi.', 'lama_menjabat_tahun.integer' => 'Lama menjabat harus berupa angka tahun.', 'string' => ':attribute harus berupa teks.', 'max' => ':attribute tidak valid.', 'min' => ':attribute tidak boleh kurang dari :min.', 'enum' => 'Pilihan :attribute tidak valid.', ]; } }