首页 >web前端 >js教程 >zod 与类验证器和类转换器

zod 与类验证器和类转换器

Patricia Arquette
Patricia Arquette原创
2024-12-19 11:42:18794浏览

zod vs class-validator & class-transformer

zod 与 NestJS 中的类验证器和类转换器的比较

我很困惑,或者至少对 zod 或类验证器和类转换器感到好奇
作为 NestJS 中的验证库。

要点

直接去吧。

1. 选择class-validator和class-transformer的理由

  • 是 NestJS 中常见且广泛使用的 duo
  • 写法很NestJS因为它是基于装饰器的验证
  • 与类转换器和 ValidationPipe 的使用进行干净且无缝的集成

2、选择Zod的理由

  • 与框架无关
  • 非常打字稿
  • 对于那些喜欢功能性基于模式方法
  • 的人
  • 性能和轻量级验证至关重要

细节

class-validator 和 class-transformer 是 NestJS 中最常用作验证的 2 个包,
是的,除了写法和NestJS一样,使用基于装饰器的
还因为它干净且无缝,因为它可以与 ValidationPipe 一起用作 DTO.

因此控制器接收到的传入数据/有效负载已根据其定义进行了验证和更改/转换。
同时,Zod 仍然需要手动验证收到的数据/有效负载,
是的,也许只有 1 行或最多 3 行,
但当然,需要的验证功能越多,需要的手动过程就越多。

程序详情

以下是详细流程(可能主观)供比较。

类验证器和类转换器

1. 安装

2.启用全局验证

3.定义DTO(数据传输对象)

很长,但就是这样基于装饰器

4. 验证的使用

佐德

1. 安装

2. 创建验证方案

*个人:与上面的相比,我更喜欢阅读此架构

3. 验证的使用

结论

我个人更喜欢Zod的使用方式。
不过需要强调的是根据团队的需求和标准来选择

https://abdulghofurme.github.io/posts/zod-vs-class-validator-n-class-transformer/

以上是zod 与类验证器和类转换器的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn