useForm
Simple form state and validation.
Usage Example
1import { useForm } from '@danixsoft/hooks';
2
3function ContactForm() {
4 const { values, handleChange, handleSubmit, errors } = useForm({
5 initialValues: { email: '', name: '' },
6 validate: (vals) => {
7 const errs: any = {};
8 if (!vals.email.includes('@')) errs.email = 'Invalid email';
9 if (vals.name.length < 3) errs.name = 'Name too short';
10 return errs;
11 },
12 onSubmit: (vals) => alert(JSON.stringify(vals))
13 });
14
15 return (
16 <form onSubmit={handleSubmit}>
17 <input name="name" value={values.name} onChange={handleChange} />
18 {errors.name && <span>{errors.name}</span>}
19
20 <input name="email" value={values.email} onChange={handleChange} />
21 {errors.email && <span>{errors.email}</span>}
22
23 <button type="submit">Submit</button>
24 </form>
25 );
26}