diff --git a/apps/frontend/src/ui/components/base/TextField.tsx b/apps/frontend/src/ui/components/base/TextField.tsx index 0d1c657f..dfb72bd8 100644 --- a/apps/frontend/src/ui/components/base/TextField.tsx +++ b/apps/frontend/src/ui/components/base/TextField.tsx @@ -1,5 +1,5 @@ import type { JSX } from 'solid-js'; -import { createSignal, createUniqueId, splitProps } from 'solid-js'; +import { createSignal, createUniqueId, onMount, splitProps } from 'solid-js'; import styles from './TextField.module.scss'; type TextFieldProps = { @@ -16,11 +16,13 @@ function TextField(props: TextFieldProps) { const [isValid, setIsValid] = createSignal(true); const id = createUniqueId(); - function validate(e: Event & { currentTarget: HTMLInputElement }) { + let ref!: HTMLInputElement; + + function validate() { if (!split.inputFilter) return; - const value = e.currentTarget.value; + const value = ref.value; const valid = split.inputFilter(value); setIsValid(valid); @@ -28,17 +30,22 @@ function TextField(props: TextFieldProps) { split.onValidInput(value); } - function onSubmit(e: Event & { currentTarget: HTMLInputElement }) { + function onSubmit() { if (isValid() && split.onValidSubmit) - split.onValidSubmit(e.currentTarget.value); + split.onValidSubmit(ref.value); } + onMount(() => { + validate(); + }); + return (