lakmus
Version:
Fluent validation.
34 lines (33 loc) • 1.41 kB
TypeScript
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;
}