请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

为什么要使用 class-validator 来判断空?

typeorm 中 @Column 装饰器内部 { nullable: false } 也可以判断该字段是否为空,为空则报错

正在回答

1回答

虽然在 TypeORM 中使用 @Column({ nullable: false }) 可以在数据库层面上限制字段不为空,但是这并不能保证在应用程序的业务逻辑层面上对该字段进行了正确的验证。例如,你可以在数据库中创建一个 name 字段,将其设置为 NOT NULL,但是如果你在应用程序中没有对该字段进行验证,那么用户就可以提交一个空的 name 字段,这样就会导致应用程序出现错误。

mysql 和 node 应用,本质还是两个系统,让错误前置,尽早报出,是一个比较好的设计原则。

1 回复 有任何疑惑可以回复我~
  • 提问者 慕粉3946981 #1
    可以理解为是nodejs层面判断该字段是否为空,而column属于数据库层面判断。这么理解正确吗
    回复 有任何疑惑可以回复我~ 2023-06-27 15:21:23
  • 黑石 回复 提问者 慕粉3946981 #2
    是的,就像前端有表单的校验,后端一样要对接口参数做校验,虽然校验的字段是同一个,但是是在不同的系统里做校验的。
    回复 有任何疑惑可以回复我~ 2023-06-27 15:22:39
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信