class-Nodejs 中的验证器

class-validator in Nodejs

我正在尝试在我的节点项目中使用 class-validator 包,但不知何故无法识别它。 它抛出一个错误

 @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',
          })
}

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

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

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

但是阅读您的代码意味着您正在使用装饰器来进行模式验证。 您可以使用其他库,例如 yup and joi,它们与 class-validator 包一样强大。