Utilização da lib zod no node js
Olá pessoal estou utilizando a lib zod em um projeto node js para validação de payloads, porém estou fazer uma validação no payload e n está dando certo, na documentação existe o método trim(), porém ao aplicar ele não funciona, alguem sabe como resolver ?
Segue código:
export const createStoreSchema = object({ body: object({ name: string() .trim() .min(2, { message: 'O campo nome deve ter ao menos 2 caracteres' }), }), });
O método .trim() que você usou no trecho de código removerá os espaços em branco de ambas as extremidades da string.
Usando um pipe, você pode primeiro remover os espaços em branco e, em seguida, realizar validações adicionais.
Tente isso:
import { z } from "zod";
const test = z.object({
name: z.string().transform(e => e.replace(/\s+/g, ''))
.pipe(z.string().min(1, { message: 'required' }).toLowerCase())
})
const result = test.safeParse({
name: "P a lavra com Espaço"
})
A baixo o retorno:
npx ts-node index.ts { success: true, data: { name: 'palavracomespaço' } }