Проверка пустого пространства в валидаторе класса - PullRequest
3 голосов
/ 25 марта 2019

Я хочу проверить поле адреса, оно может содержать числа или строки, но оно не должно принимать непрерывные пустые пробелы

@ IsAlphaNUmereic () Адрес: строка;

я хочу это, адресможет быть числовым или буквенным ... но не должен принимать пустые пробелы

1 Ответ

2 голосов
/ 25 марта 2019

На самом деле нет поддержки для декоратора 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 для получения дополнительной информации о пользовательских валидаторах.

...