【问题标题】:class-validator in NodejsNodejs 中的类验证器
【发布时间】:2021-05-28 11:34:33
【问题描述】:

我试图在我的节点项目中使用类验证器包,但不知何故它没有被识别。 会报错

 @MinLength(10, {
    ^

SyntaxError: Invalid or unexpected token

这是我正在做的事情:

    const classValidator = require('class-validator');
    
    module.exports = class Entity{
        @MinLength(10, {
            message: 'Title is too short',
          })
          @MaxLength(50, {
            message: 'Title is too long',
          })
}

【问题讨论】:

  • 错误提示@MinLength 是一个意外的令牌。这意味着 Node.js 无法理解装饰器的使用。装饰器还不是语言的一部分。你可以在这里阅读更多信息:stackoverflow.com/questions/48055771/…

标签: javascript node.js package class-validator


【解决方案1】:

@Abrar Hossain 在 cmets 中提到的“装饰器还不是语言的一部分”足以满足您的回答。在 JavaScript 中,它们目前是 stage 2 proposal,这意味着它们应该是该语言未来更新的一部分

但是阅读您的代码意味着您正在使用装饰器进行架构验证。 您可以使用与 class-validator 包一样强大的其他库,例如 yupjoi

【讨论】:

    【解决方案2】:

    我认为您应该遵循他们的文档并导入 MinLengthMaxLength 以避免语法错误。

    import { MinLength, MaxLength } from 'class-validator';
    

    【讨论】:

      猜你喜欢
      • 2018-08-21
      • 1970-01-01
      • 1970-01-01
      • 2021-06-16
      • 1970-01-01
      • 2013-06-30
      • 2019-08-15
      • 2020-05-20
      • 1970-01-01
      相关资源
      最近更新 更多