Gan*_*eSH 9 node.js typeorm class-validator
我想验证地址字段,它可能包含数字或字符串,但不应接受连续的空格
@IsAlphaNUMereic() 地址:字符串;
我想要,地址可以是数字或字母...但它不应该接受继续空格
eol*_*eol 10
Afaik 不支持“isNotBlank”装饰器,但您可以自己编写一个:
import { registerDecorator, ValidationOptions } from "class-validator";
export function IsNotBlank(property: string, validationOptions?: ValidationOptions) {
return function (object: Object, propertyName: string) {
registerDecorator({
name: "isNotBlank",
target: object.constructor,
propertyName: propertyName,
constraints: [property],
options: validationOptions,
validator: {
validate(value: any) {
return typeof value === "string" && value.trim().length > 0;
}
}
});
};
}
Run Code Online (Sandbox Code Playgroud)
然后,您可以将此自定义验证器添加到现有验证器中:
@IsNotBlank()
@IsAlphaNumeric()
Address: string;
Run Code Online (Sandbox Code Playgroud)
查看https://github.com/typestack/class-validator#custom-validation-decorators以获取有关自定义验证器的更多信息。
没有自定义验证装饰器的替代解决方案是:
@IsNotEmpty()
@Transform((value: string) => value?.trim())
Address: string;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6042 次 |
| 最近记录: |