*/ public function rules(): array { /** @var PreregistrationPage $page */ $page = $this->route('publicPage'); return [ 'first_name' => ['required', 'string', 'max:255'], 'last_name' => ['required', 'string', 'max:255'], 'email' => ['required', 'email', 'max:255'], 'phone' => $page->phone_enabled ? ['required', 'string', 'max:20'] : ['nullable', 'string', 'max:20'], ]; } protected function prepareForValidation(): void { $email = $this->input('email'); if (is_string($email)) { $this->merge([ 'email' => strtolower(trim($email)), ]); } } }