Currently, the ValidationVisitor does not contain state for errors.
An AssertionError is raised for invalid client-submitted data. For example:
{
"title": "Person",
"type": "object",
"properties": {
"firstName": {
"type": "string"
},
"age": {
"type": "integer",
"minimum": 0
}
},
"required": ["firstName"]
}
from aptos.visitors import ValidationVisitor
record.accept(ValidationVisitor({'age': -5'})) # raises an `AssertionError`
The previous example contains two validation errors:
- Age is not a non-negative integer
firstName is not provided
If the ValidationVisitor contained state, then it could potentially accumulate error messages.
For example:
class ValidationVisitor:
def __init__(self, instance):
self.instance = instance
self.errors = []
def visit_string(self, string):
instance = self.instance
if self.maxLength:
if not (len(instance) <= string.maxLength):
self.errors.append('<error message>')
import logging
from aptos.visitors import ValidationVisitor
errors = record.accept(ValidationVisitor({'age': -5}))
if errors:
logging.error(errors)
Currently, the
ValidationVisitordoes not contain state for errors.An
AssertionErroris raised for invalid client-submitted data. For example:{ "title": "Person", "type": "object", "properties": { "firstName": { "type": "string" }, "age": { "type": "integer", "minimum": 0 } }, "required": ["firstName"] }The previous example contains two validation errors:
firstNameis not providedIf the
ValidationVisitorcontained state, then it could potentially accumulate error messages.For example: