'nullable|array', 'steps.*.type' => "nullable|string|in:{$stepTypes}", 'steps.*.step_type' => "nullable|string|in:{$stepTypes}", 'steps.*.user_id' => 'nullable|integer|exists:users,id', 'steps.*.approver_id' => 'nullable|integer|exists:users,id', 'steps.*.step_order' => 'nullable|integer|min:1', ]; } public function messages(): array { return [ 'steps.*.type.in' => __('validation.in', ['attribute' => '단계유형']), 'steps.*.step_type.in' => __('validation.in', ['attribute' => '단계유형']), 'steps.*.user_id.exists' => __('validation.exists', ['attribute' => '결재자']), 'steps.*.approver_id.exists' => __('validation.exists', ['attribute' => '결재자']), ]; } }