1

在下面的代码中,

我想通过将 RegExp 对象放在某处来提高性能,但我不知道如何做嵌套。

@ValidatorConstraint()
export class RegExp implements ValidatorConstraintInterface {
  validate(kana: string, args: ValidationArguments) {
    const str = new RegExp(/^[ァ-ヶー]+$/)
    return str.test(kana)
  }

  defaultMessage(args: ValidationArguments) {
    return 'Text should be'
  }
}

谢谢

4

2 回答 2

1

我是这样想的。

const regexp = new RegExp(/^[ァ-ヶー]+$/)

@ValidatorConstraint()
export class RegExp implements ValidatorConstraintInterface {
  validate(kana: string, args: ValidationArguments) {
    return regexp.test(kana)
  }

  defaultMessage(args: ValidationArguments) {
    return 'Text should be'
  }
}
于 2020-04-30T05:37:56.073 回答
1

如果您只需要正则表达式 - 只需使用内置Matches验证器:

@Matches(/^[ァ-ヶー]+$/)
public field: string;

在这种情况下,它将在每次验证时重用正则表达式。

于 2020-04-30T14:02:54.620 回答