pip-services3-commons-node
Version:
Portable abstractions and patterns for Pip.Services in Node.js
25 lines (24 loc) • 847 B
TypeScript
/** @module validate */
import { Schema } from './Schema';
import { ValidationResult } from './ValidationResult';
/**
* Interface for validation rules.
*
* Validation rule can validate one or multiple values
* against complex rules like: value is in range,
* one property is less than another property,
* enforce enumerated values and more.
*
* This interface allows to implement custom rules.
*/
export interface IValidationRule {
/**
* Validates a given value against this rule.
*
* @param path a dot notation path to the value.
* @param schema a schema this rule is called from
* @param value a value to be validated.
* @param results a list with validation results to add new results.
*/
validate(path: string, schema: Schema, value: any, results: ValidationResult[]): void;
}