如何使用zod检查确认密码?我想用Zod验证确认密码。我希望Zod将我的密码与comparePassword进行比较
export const registerUSerSchema = z.object({
firstName: z.string(),
lastName: z.string(),
userName: z.string(),
email: z.string().email(),
phone: z.string().transform(data => Number(data)),
password: z.string().min(4),
confirmPassword: z.string().min(4),
avatar: z.string().optional(),
isVerified: z.boolean().optional()
})
发布于 2022-09-13 04:23:15
您可以通过连接superRefine
来实现这一点。
export const registerUserSchema = z.object({
firstName: z.string(),
lastName: z.string(),
userName: z.string(),
email: z.string().email(),
phone: z.string().transform(data => Number(data)),
password: z.string().min(4),
confirmPassword: z.string().min(4),
avatar: z.string().optional(),
isVerified: z.boolean().optional()
}).superRefine(({ confirmPassword, password }, ctx) => {
if (confirmPassword !== password) {
ctx.addIssue({
code: "custom",
message: "The passwords did not match"
});
}
});
如果密码由于基本原因(而不是至少4个字符)而无法解析,那么该错误就会出现,但是如果整个基本对象成功解析,那么就会发生超级细化检查。
https://stackoverflow.com/questions/73695535
复制相似问题