AndRule

Validation rule that allows you to check combinations of rules created with AND logical operations.

Implements: IValidationRule

Description

The AndRule class allows you to validate combinations of rules created with AND logical operations.

Important points

  • When one or more of the combined rules return errors, then this rule returns all the errors that appeared.
  • When none of the combined rules returns errors, then this rule also returns no errors.

Constructors

Creates a new validation rule and sets its values.

AndRule(*rules: IValidationRule)

Instance methods

validate

Validates a given value against this rule.

validate(path: str, schema: Schema, value: Any, results: List[ValidationResult])

  • path: str - a dot notation path to the value.
  • schema: Schema - a schema this rule is called from
  • value: Any - a value to be validated.
  • results: List[ValidationResult] - a list with validation results to add new results.

Example

schema = Schema().with_rule(AndRule(ValueComparisonRule("GTE", 1), ValueComparisonRule("LTE", 10)))
schema.validate(0)          # Result: 0 must be greater or equal to 1
schema.validate(5)          # Result: no error
schema.validate(20)         # Result: 20 must be letter or equal 10

See also