Позволяет формировать результат пользовательской валидации формы.

Имеет конструктор. При вызове без параметров возвращает пустой объект результата валидации:

const result = new ValidationResult();

В конструктор можно сразу передать массив сообщений об ошибках messages и списки ошибок полей контекста contextErrors, viewContextErrors.

const result = new ValidationResult(
    [`Должны быть проставлены все флажки на форме`],
    {
        stroka: ['Значение должно быть длиной не менее 10 символов'],
        stroka_2: ['Значение должно быть длиной не более 50 символов'],
    },
     {
        number_1: ['Значение должно быть меньше или равно 50'],
    },
);

По каждому полю контекста и View-контекста может быть несколько ошибок валидации. Если для поля контекста с данным кодом уже добавлена ошибка с таким текстом, то повторное добавление игнорируется.

Пример использования в функции валидации:

const result = new ValidationResult();

if (!Context.data.stroka || Context.data.stroka.length < 10) {
    result.addContextError('stroka', 'Значение должно быть длиной не менее 10 символов');
}

if (!ViewContext.data.number_1 || ViewContext.data.number_1 > 50) {
    result.addViewContextError('number_1', 'Значение должно быть меньше или равно 50');
}

return result;

Hierarchy

  • ValidationResult

Properties

contextErrors

contextErrors: object

Объект, содержащий список ошибок валидации полей контекста.

Ключом является код поля контекста, а значением — массив строк описаний ошибок.

Type declaration

  • [key: string]: string[]

Readonly hasContextErrors

hasContextErrors: boolean

Имеет значение true, если есть ошибки валидации полей контекста.

Readonly hasViewContextErrors

hasViewContextErrors: boolean

Имеет значение true, если есть ошибки валидации полей View-контекста.

Readonly isValid

isValid: boolean

Имеет значение true, если есть ошибки валидации.

messages

messages: string[]

Массив сообщений об ошибках валидации.

Optional title

title: undefined | string

Заголовок блока с ошибками валидации, который можно установить, если необходимо переопределить стандартный.

Например:

result.title = 'Вам необходимо заполнить все поля формы для регистрации документа';

viewContextErrors

viewContextErrors: object

Объект, содержащий список ошибок валидации полей View-контекста.

Ключом является код поля View-контекста, а значением — массив строк описаний ошибок.

Type declaration

  • [key: string]: string[]

Methods

addContextError

  • addContextError(code: string, message: string): void
  • Добавить ошибку валидации поля контекста.

    Например:

    result.addContextError('stroka', 'Значение должно быть длиной не менее 10 символов');
    

    Parameters

    • code: string

      Код поля контекста.

    • message: string

      Сообщение об ошибке валидации.

    Returns void

addMessage

  • addMessage(errorMessage: string): void
  • Добавить сообщение об ошибке валидации без привязки к полям контекста.

    Например:

    result.addMessage('Должны быть проставлены все флажки на форме');
    

    Parameters

    • errorMessage: string

      Сообщение об ошибке.

    Returns void

addViewContextError

  • addViewContextError(code: string, message: string): void
  • Добавить ошибку валидации поля View-контекста.

    Например:

    result.addViewContextError('stroka', 'Значение должно быть длиной не менее 10 символов');
    

    Parameters

    • code: string

      Код поля контекста.

    • message: string

      Сообщение об ошибке валидации.

    Returns void

assign

  • Объединить ошибки валидации текущего результата с ошибками из другого результата валидации.

    Parameters

    Returns void