【发布时间】:2020-08-02 07:25:04
【问题描述】:
我有这样的数字:
export enum UserRole {
USER,
ADMIN,
BLOGGER
}
和 create.user.d 一样
import { IsEmail, IsEnum, IsNotEmpty, IsOptional } from 'class-validator';
import { UserRole } from './user.entity';
export class CreateUserDto {
@IsEmail()
email: string;
@IsNotEmpty()
firstName: string;
@IsNotEmpty()
lastName: string;
@IsOptional()
username: string;
@IsOptional()
@IsEnum(UserRole)
role: UserRole;
@IsNotEmpty()
password: string;
}
现在,如果我只发布角色大写('ADMIN','USER')或'BLOGGER',角色验证不会失败。
如何使类验证器不区分大小写?我的意思是,也为 'admin' 'aDmIn' 验证 true。
【问题讨论】:
-
ENUM 不会这样做,我不认为@IsIn(Array) 不区分大小写,您必须编写自定义验证器,您可以在其中使用此条件
array.includes(incoming-value.toLowercase)
标签: node.js enums case-sensitive class-validator