我要验证“地址”字段,它可能包含数字或字符串,但不应接受连续的空格
@IsAlphaNUmereic() 地址:字符串;
我想要,地址可以是数字或字母... 但它不应该接受连续的空格
答案 0 :(得分:2)
Afaik不支持“ isNotBlank”装饰器,但您可以自己写一个:
import { registerDecorator, ValidationOptions } from "class-validator";
export function IsNotBlank(property: string, validationOptions?: ValidationOptions) {
return function (object: Object, propertyName: string) {
registerDecorator({
name: "isBlank",
target: object.constructor,
propertyName: propertyName,
constraints: [property],
options: validationOptions,
validator: {
validate(value: any) {
return typeof value === "string" && value.trim().length > 0;
}
}
});
};
}
然后,您可以将此自定义验证器添加到现有的验证器中:
@IsNotBlank()
@IsAlphaNumeric()
Address: string;
检出https://github.com/typestack/class-validator#custom-validation-decorators,以获取有关自定义验证程序的更多信息。
答案 1 :(得分:0)
没有自定义验证修饰符的替代解决方案是:
@IsNotEmpty()
@Transform((value: string) => value?.trim())
Address: string;