Isso valida um formulário de escrow usando Zod, incluindo endereços de carteira.
import{isValidWallet}from"@/helpers/valid-data.helper";import{z}from"zod";exportconstformSchema=z.object({contractId:z.string().min(1,"ID do contrato é obrigatório"),releaseSigner:z.string().min(1,{message:"Assinante de liberação é obrigatório.",}).refine((value)=>isValidWallet(value),{message:"O assinante de liberação deve ser uma carteira válida.",}),signer:z.string().min(1,"Endereço do signatário é obrigatório"),});
Hook Personalizado
Isso contém toda a lógica do formulário, incluindo validação de esquema, função onSubmit e outros estados e funcionalidades.
Formulário
Este formulário é construído com react hook form. Usamos o hook personalizado e o esquema Zod mencionados anteriormente.