user(); return [ 'action' => 'required|string|in:archive,restore,delete,template,assign_group', 'ids' => ['required','bail','array',Rule::exists('clients', 'id')->where('company_id', $user->company()->id)], 'template' => 'sometimes|string', 'template_id' => 'sometimes|string', 'group_settings_id' => ['required_if:action,assign_group',Rule::exists('group_settings', 'id')->where('company_id', $user->company()->id)], 'send_email' => 'sometimes|bool' ]; } public function prepareForValidation() { $input = $this->all(); if (isset($input['ids'])) { $input['ids'] = $this->transformKeys($input['ids']); } if (isset($input['group_settings_id'])) { $input['group_settings_id'] = $this->decodePrimaryKey($input['group_settings_id']); } $this->replace($input); } }