Validation
Check full example at StackBlitz.

import { useForm } from "solid-hook-form";
type ExampleFormValues = {
email: string;
};
export const ExampleForm = () => {
const form = useForm<ExampleFormValues>({
defaultValues: {
email: "",
},
});
const { errors, register, onSubmit } = form;
const saveExample = (values: ExampleFormValues) => {
console.log(values);
};
return (
<FormProvider form={form}>
<form onSubmit={onSubmit(saveExample)}>
<input
{...register("email", {
required: "Required",
pattern: {
value: /^[^s@]+@[^s@]+.[^s@]+$/,
message: "Invalid email",
},
})}
aria-invalid={Boolean(errors().email)}
/>
{errors().email && <p role="alert">{errors().email.message}</p>}
<pre>{JSON.stringify(errors(), null, 2)}</pre>
<button type="submit">Save</button>
</form>
</FormProvider>
);
};