|string> */ public function rules(): array { return [ 'name' => ['required', 'max:100'], 'classification_id' => ['required', 'exists:classifications,id'], 'status' => ['required', 'in:0,1'], 'description' => ['nullable'], 'enhancer_id' => ['required'], ]; } public function messages(): array { return [ 'name.required' => 'Nama sub klasifikasi harus diisi.', 'name.max' => 'Nama sub klasifikasi tidak boleh lebih dari 100 karakter.', 'classification_id.required' => 'Klasifikasi harus dipilih.', 'classification_id.exists' => 'Klasifikasi yang dipilih tidak valid.', 'status.required' => 'Status harus dipilih.', 'status.in' => 'Status harus bernilai aktif atau tidak aktif.', 'description.nullable' => 'Deskripsi boleh kosong jika tidak diperlukan.', ]; } protected function prepareForValidation() { $this->merge([ 'description' => filled($this->description) ? $this->description : null, 'enhancer_id' => Auth::check() ? Auth::id() : null, ]); } }