Implementação padrão do react-hook-form para validação de formulário.
1yarn add @eduzz/houston-forms
zod: Schema de validação
1import useForm from '@eduzz/houston-forms/useForm';
Não é necessário o register de cada componente quando o Form componente é instanciado.
1import useForm, { FormModel } from '@eduzz/houston-forms/useForm';23const form = useForm({4defaultValues: {5// Não é necessário iniciar os valores6money: 57},8validationSchema: zod => {9// Caso não use uma schema pronto o zod será passado via arg10return zod.object({11name: zod.string(),12money: zod.number().min(10)13}),14}15});1617// O FormModel é útil caso tenha criado uma schema nova no validationSchema18// do contrário o ideal é o infer do zod.19const onSubmit = useCallback((data: FormModel<typeof form>) => console.log({data}))2021<Form context={form} onSubmit={data => console.log(data)}>22<Input label='Name' name='name' />23<Currency label='Money' name='money' />2425<Button type='submit'>Submit</Button>26</Form>
O único parametro especifico é o validationSchema, o resto é configuração padrão do react-hook-form.
prop | tipo | obrigatório | descrição |
---|---|---|---|
validationSchema | function | true | Utilizado para validação do formulário |