【发布时间】:2019-06-01 02:12:18
【问题描述】:
我正在尝试找到一种使用 DTO 验证主体的好方法(使用出色的 class-validator 和 class-transformer 库)。它工作得非常好,即使对于嵌套结构,但在我的情况下,我希望拥有基于某些条件的 body 属性。
可能有助于理解的示例:
假设我的身体应该一直有selectedCategory。
根据该字段,内容可能来自类别 1,其中包含 prop1,也可能来自类别 2,其中包含 prop2。
我不想让他们两个都为 null,我真的希望要么定义 prop1,要么基于 selectedCategory 定义 prop2。
我认为我可以使用管道,但是如何指定要使用的正确 DTO?
我已经构建了一个“基”类,它包含所有的公共属性和少数其他继承自它的类。
我可以根据属性 selectedCategory 手动实例化管道,这很理想,但我不知道要传递什么作为管道的第二个参数(元数据)。
感谢您的帮助。
【问题讨论】:
标签: node.js typescript nestjs class-validator class-transformer