class-validator 验证联合字符串 |数字
class-validator validate union string | number
我有一个简单的 DTO class 用于验证
class SearchIssuerDto {
search: string | number;
}
验证搜索参数可以接受字符串或数字的正确方法是什么?
您可以为此创建一个自定义验证器:
@ValidatorConstraint({ name: 'string-or-number', async: false })
export class IsNumberOrString implements ValidatorConstraintInterface {
validate(text: any, args: ValidationArguments) {
return typeof text === 'number' || typeof text === 'string';
}
defaultMessage(args: ValidationArguments) {
return '($value) must be number or string';
}
}
用法:
class SearchIssuerDto {
@IsDefined()
@Validate(IsNumberOrString)
search: number | string;
}
我有一个简单的 DTO class 用于验证
class SearchIssuerDto {
search: string | number;
}
验证搜索参数可以接受字符串或数字的正确方法是什么?
您可以为此创建一个自定义验证器:
@ValidatorConstraint({ name: 'string-or-number', async: false })
export class IsNumberOrString implements ValidatorConstraintInterface {
validate(text: any, args: ValidationArguments) {
return typeof text === 'number' || typeof text === 'string';
}
defaultMessage(args: ValidationArguments) {
return '($value) must be number or string';
}
}
用法:
class SearchIssuerDto {
@IsDefined()
@Validate(IsNumberOrString)
search: number | string;
}