Description
The Schema class provides a basic schema to validate values against a set of validation rules.
Important points
- This schema is used as a basis for specific schemas to validate objects, project properties, arrays and maps.
Constructors
Creates a new instance of validation schema and sets its values.
See IValidationRule
publicconstructor(required?: boolean, rules?: IValidationRule[])
- required: boolean - (optional) true to always require non-null values.
- rules: IValidationRule[] - (optional) list with validation rules.
Instance methods
getRules
Gets validation rules to check values against.
publicgetRules(): IValidationRule[]
- returns: IValidationRule[] - list with validation rules.
isRequired
Gets a flag that always requires non-null values. For null values, it raises a validation error.
publicisRequired(): boolean
- returns: boolean - true to always require non-null values and false to allow null values.
makeOptional
Makes validated values optional. Validation for null values will be skipped. This method returns a reference to this exception to implement the Builder pattern to chain additional calls.
publicmakeOptional(): Schema
- returns: Schema - validation schema
makeRequired
Makes validated values always required (non-null). For null values the schema will raise errors. This method returns a reference to this exception to implement the Builder pattern to chain additional calls.
publicmakeRequired(): Schema
- returns: Schema - validation schema
performTypeValidation
Validates a given value to match a specified type. The type can be defined as a Schema, type, a type name or TypeCode When type is a Schema, it executes validation recursively against that Schema.
protectedperformTypeValidation(path: string, type: any, value: any, results: ValidationResult[]): void
- path: string - dot notation path to the value.
- type: any - type to match the value type
- value: any - value to be validated.
- results: ValidationResult[] - list with validation results.
performValidation
Validates a given value against the schema and configured validation rules.
protectedperformValidation(path: string, value: any, results: ValidationResult[]): void
- path: string - dot notation path to the value.
- value: any - value to be validated.
- results: ValidationResult[] - list with validation results to add new results.
setRequired
Sets a flag that always requires non-null values.
publicsetRequired(value: boolean): void
- value: boolean - true to always require non-null values and false to allow null values.
setRules
Sets validation rules to check values against.
publicsetRules(value: IValidationRule[]): void
- value: IValidationRule[] - list with validation rules.
validate
Validates the given value and returns a list with validation results. See ValidationResult
publicvalidate(value: any): ValidationResult[]
- value: any - value to be validated.
- returns: ValidationResult[] - list with validation results.
validateAndReturnException
Validates the given value and returns a ValidationException if errors were found.
publicvalidateAndReturnException(correlationId: string, value: any, strict: boolean = false): ValidationException
- correlationId: string - (optional) transaction id used to trace execution through the call chain.
- value: any - value to be validated.
- strict: boolean - true to treat warnings as errors.
- returns: ValidationException - validation exception.
validateAndThrowException
Validates the given value and throws a ValidationException if errors were found.
See ValidationException.throwExceptionIfNeeded
publicvalidateAndThrowException(correlationId: string, value: any, strict: boolean = false): void
- correlationId: string - (optional) transaction id used to trace execution through the call chain.
- value: any - value to be validated.
- strict: boolean - true to treat warnings as errors.
withRule
Adds validation rule to this schema. This method returns a reference to this exception to implement the Builder pattern to chain additional calls.
publicwithRule(rule: IValidationRule): Schema
- rule: IValidationRule - validation rule to be added.
- returns: Schema - validation schema.