Isso valida um formulário de escrow usando Zod, incluindo endereços de carteira, propriedades de flag de alteração e índice de marco.
import{isValidWallet}from"@/helpers/valid-data.helper";import{z}from"zod";exportconstformSchema=z.object({contractId:z.string().min(1,"ID do contrato é obrigatório"),milestoneIndex:z.string().min(1,"O índice do marco é obrigatório"),newFlag:z.boolean(),approver:z.string().min(1,{message:"Aprovação é obrigatória.",}).refine((value)=>isValidWallet(value),{message:"O aprovador deve ser uma carteira válida.",}),});
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.