I have an application using zod but I'd like to use some methods from a different library (validator.js) zod documentation says:
Check out validator.js for a bunch of other useful string validation functions.
Not sure if that means this functions are implemented on zod, or I have to also install validator.js, in that other case how I can use both libraries together? cant find any example.
Thanks!
I think Zod means that you could install validator.js
and use their validations with Zod. Zod's refine function makes this fairly straightforward. For example if you wanted to validate a string as a credit card number using Zod and validator it might look something like this
import { z } from "zod";
import isCreditCard from "validator/lib/isCreditCard";
const userSchema = z.object({
name: z.string(),
creditCard: z.string().refine(isCreditCard, {
message: 'Must be a valid credit card number'
}),
})
console.log(userSchema.safeParse({
name: 'Doug',
creditCard: '1234',
}));
console.log(userSchema.safeParse({
name: 'steve',
creditCard: '4000 0200 0000 0000'
}));
The first example fails with a ZodError
containing our custom error message. The second example succeeds.