pip_services3_commons.validate.Schema module

pip_services3_commons.validate.Schema

Validation schema for complex objects.

copyright

Conceptual Vision Consulting LLC 2018-2019, see AUTHORS for more details.

license

MIT, see LICENSE for more details.

class pip_services3_commons.validate.Schema.Schema(required: bool = False, rules: List[pip_services3_commons.validate.IValidationRule.IValidationRule] = None)

Bases: object

Basic schema that validates values against a set of validation __rules.

This schema is used as a basis for specific schemas to validate objects, project properties, arrays and maps.

get_rules() → List[pip_services3_commons.validate.IValidationRule.IValidationRule]

Gets validation __rules to check values against.

Returns

a list with validation __rules.

is_required()bool

Gets a flag that always requires non-null values. For null values it raises a validation error.

Returns

true to always require non-null values and false to allow null values.

make_optional()pip_services3_commons.validate.Schema.Schema

Makes validated values optional. Validation for null values will be skipped.

This method returns reference to this error to implement Builder pattern to chain additional calls.

Returns

this validation schema

make_required()pip_services3_commons.validate.Schema.Schema

Makes validated values always __required (non-null). For null values the schema will raise errors.

This method returns reference to this error to implement Builder pattern to chain additional calls.

Returns

this validation schema

set_required(value: bool)

Sets a flag that always requires non-null values.

Parameters

value – true to always require non-null values and false to allow null values.

set_rules(value: List[pip_services3_commons.validate.IValidationRule.IValidationRule])

Sets validation __rules to check values against.

Parameters

value – a list with validation __rules.

validate(value: Any) → List[pip_services3_commons.validate.ValidationResult.ValidationResult]

Validates the given args and results validation results.

Parameters

value – a args to be validated.

Returns

a list with validation results.

validate_and_return_exception(correlation_id: Optional[str, None], value: Any, strict: bool = False)pip_services3_commons.validate.ValidationException.ValidationException

Validates the given args and returns a ValidationException if errors were found.

Parameters
  • correlation_id – (optional) transaction id to trace execution through call chain.

  • value – a args to be validated.

  • strict – true to treat warnings as errors.

validate_and_throw_exception(correlation_id: Optional[str, None], value: Any, strict: bool = False)

Validates the given args and throws a ValidationException if errors were found.

Parameters
  • correlation_id – (optional) transaction id to trace execution through call chain.

  • value – a args to be validated.

  • strict – true to treat warnings as errors.

with_rule(rule: pip_services3_commons.validate.IValidationRule.IValidationRule)pip_services3_commons.validate.Schema.Schema

Adds validation rule to this schema.

This method returns reference to this error to implement Builder pattern to chain additional calls.

Parameters

rule – a validation rule to be added.

Returns

this validation schema.