auth学习记录
Next Auth V5- Advanced Guide (2024)
Zod数据验证
Zod
是一个 TypeScript-first 的 数据验证库,它的主要作用是通过简洁且强类型的 API 来验证和解析数据。它可以帮助你确保输入的数据符合预期的类型和结构,通常用于处理表单数据、API 请求的输入验证等场景。(example)
1
2
3
4
5
6
7
8import * as z from 'zod';
export const LoginSchema = z.object({
email: z.string().email({
message: "Email is required" //错误message
}),
password: z.string()
});验证数据:
1
2
3
4
5
6
7
8
9
10tsconst data = {
email: "example@example.com",
password: "password123"
};
try {
LoginSchema.parse(data); // 如果验证成功,返回数据;如果验证失败,抛出错误
} catch (e) {
console.log(e.errors); // 如果验证失败,打印错误信息
}使用
safeParse
方法:safeParse
方法返回一个包含成功或失败的解析结果对象,而不是直接抛出异常。这对于处理验证错误非常有用:1
2
3
4
5
6
7const result = LoginSchema.safeParse(data);
if (result.success) {
console.log("数据有效", result.data); // 数据有效
} else {
console.log("数据无效", result.error.errors); // 错误信息
}
resend邮件发送
(PS:感觉登录注册还挺麻烦的,有点难梳理成线性的方案,这个文档暂时放弃吧)
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Change The World!