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 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!
Share Improve this question asked Mar 12, 2022 at 14:27 llermalyllermaly 2,5103 gold badges19 silver badges35 bronze badges1 Answer
Reset to default 15I 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.