-
Notifications
You must be signed in to change notification settings - Fork 2
Standards
Jan Bernitt edited this page Feb 4, 2024
·
7 revisions
This page captures the standards implemented by this library and how it deviates from the specifications.
The deviations are on purpose to provide a more uniform and easy to use tool.
Warning
-
Edge case: The empty path means self or root and cannot be used to select an object's property with empty name.
The alternative path notation
{}
({<property>}
for the property with empty name) can be used instead. However, this also implies that property names starting with a{
are understood as special path notation and not as a property name starting with{
.
This library only implements the Vocabulary for Structural Validation part of the specification.
Thereby the validation schema is not provided via a JSON schema document but through annotations on the targeted property methods.
Therefore all validations are declared on the property method they affect and not on their parent (like in the case of required
in the spec).
Warning
-
Divination:
required
anddependentRequired
are not satisfied by a property that is definednull
unless also used withacceptNull()
-
Extension: This library's variant of
dependentRequired
supports more types of conditions and therefore uses a slightly different way of declaration
WIP