Validation
Validation for values of type T.
Validations may depend on other values. These dependencies may be defined via the dependency function, by providing the path of the dependency relative to the value being validated.
Example validation that emits an error when the integer being validated is odd if the value of a dependency allowOdd is false:
object DisallowOdd : Validation<Int>() {
private val ValidationContext.allowOdd: Boolean by dependency("../allowOdd")
ValidationContext.validate() = flow {
if (!allowOdd && value % 2 != 0) {
emit(ValidationError("oddNotAllowed"))
}
}
}Inheritors
Properties
Dependencies of the validation. Mapping of keys to the paths this validation depends on. Keys can be used within a ValidationContext to access the value of the dependencies.
Whether the form manager should reevaluate this validation whenever a descendant of the value being validated changes. This is false by default.
Set of external context dependencies of the validation.
Schema of the value being validated.
Value being validated.
Functions
Declares a dependency to path, accessible in the validation's context via key dependencyKey.
Declares an external context dependency to externalContextName.
Function used to declare a dependency to a path and delegate access to its value within a ValidationContext.
Function used to declare a dependency to a path and delegate access to its value within a ValidationContext.
Function used to declare a dependency to an external context and delegate access to its value within a ValidationContext.
Function used to declare a dependency to an external context and delegate access to its value within a ValidationContext.
Runs the validation within a ValidationContext containing the value being validated and the value of all declared dependencies. Returns a flow over all found issues.