*/ public array $options; public static function name(): string { return 'Dropdown'; } public static function meta(): array { return [ ['key' => 'options', 'default' => [], 'rules' => ['options' => 'present|array', 'options.*' => 'string'], 'label' => 'Optionen'], ['key' => 'required', 'default' => false, 'rules' => ['required' => 'present|boolean'], 'label' => 'Erforderlich'], ]; } public static function default() { return null; } public static function fake(Generator $faker): array { return [ 'options' => $faker->words(4), 'required' => $faker->boolean(), ]; } /** * @inheritdoc */ public function getRegistrationRules(Form $form): array { return [ $this->key => $this->required ? ['required', 'string', Rule::in($this->options)] : ['nullable', 'string', Rule::in($this->options)], ]; } /** * @inheritdoc */ public function getRegistrationAttributes(Form $form): array { return [$this->key => $this->name]; } /** * @inheritdoc */ public function getRegistrationMessages(Form $form): array { return []; } /** * @inheritdoc */ public function afterRegistration(Form $form, Participant $participant, array $input): void { } }