UNPKG

lakmus

Version:
34 lines (33 loc) 1.41 kB
import { ValidationRuleConfigurator } from "./validation-rule-configurator"; import { ValidationResult } from "./results/validation-result"; import "./localization/en"; import "./localization/ru"; /** * Defines a validator for a particular type. */ export declare abstract class Validator<T> { private _rules; private _when; /** * Validates the specified instance. * @param instance The instance to validate. */ validate(instance: T): ValidationResult; /** * Performs validation and then throws an exception if validation fails. * @param instance Instance to validate. * @param validatorType Type of the validator. */ validateAndThrow(instance: any): void; /** * Defines a validation rule for a specify property. * @param propertySelector The expression representing the property to validate. */ protected ruleFor<TProperty>(propertySelector: (instance: T) => TProperty): ValidationRuleConfigurator<T, TProperty>; /** * Specifies a condition limiting when validation rules should run. * @param predicate A function or lambda expression that specifies a condition for when validation rules should run. * @param ruleDefinitions A function with validation rule definitions. */ protected when(predicate: (instance: T) => boolean, ruleDefinitions: () => any): void; }