*/ public function rules(): array { return [ 'ids' => ['required', 'array', 'min:1'], 'ids.*' => ['integer', Rule::exists(Report::class, 'id')], 'status' => ['required', 'string', Rule::in(ReportStatus::values())], 'process_note' => ['nullable', 'string', 'max:1000'], ]; } /** * 검증 오류 메시지 커스터마이징 * * @return array */ public function messages(): array { return [ 'ids.required' => __('sirsoft-board::validation.report.ids.required'), 'ids.array' => __('sirsoft-board::validation.report.ids.array'), 'ids.min' => __('sirsoft-board::validation.report.ids.min'), 'ids.*.integer' => __('sirsoft-board::validation.report.ids.integer'), 'ids.*.exists' => __('sirsoft-board::validation.report.ids.exists'), 'status.required' => __('sirsoft-board::validation.report.status.required'), 'status.in' => __('sirsoft-board::validation.report.status.in'), 'process_note.max' => __('sirsoft-board::validation.report.process_note.max'), ]; } /** * 검증할 필드의 이름을 커스터마이징 * * @return array */ public function attributes(): array { return [ 'ids' => __('sirsoft-board::validation.attributes.report.ids'), 'status' => __('sirsoft-board::validation.attributes.report.status'), 'process_note' => __('sirsoft-board::validation.attributes.report.process_note'), ]; } }