$input */ public function handle(Form $form, array $input): Participant { return $form->participants()->create([ 'data' => $input ]); } /** * @return array */ public function rules(): array { /** @var Form */ $form = request()->route('form'); return $form->getRegistrationRules(); } /** * @return array */ public function getValidationAttributes(): array { /** @var Form */ $form = request()->route('form'); return $form->getRegistrationAttributes(); } /** * @return array */ public function getValidationMessages(): array { /** @var Form */ $form = request()->route('form'); return $form->getRegistrationMessages(); } public function asController(ActionRequest $request, Form $form): JsonResponse { $participant = $this->handle($form, $request->validated()); return response()->json($participant); } }