blob: 33b08e468e627429b483e435ea75f61859b2777c [file] [log] [blame]
= Validation
== Programmatic
Use the https://github.com/apache/fineract/search?q=%22class+DataValidatorBuilder%22[DataValidatorBuilder], e.g. like so:
[source,java]
----
new DataValidatorBuilder().resource("fileUpload")
.reset().parameter("Content-Length").value(contentLength).notBlank().integerGreaterThanNumber(0)
.reset().parameter("FormDataContentDisposition").value(fileDetails).notNull()
.throwValidationErrors();
----
Such code is often encapsulated in https://github.com/apache/fineract/search?q=Validator[`*Validator`] classes (if more than a few lines, and/or reused from several places; avoid copy/paste), like so:
[source,java]
----
public class YourThingValidator {
public void validate(YourThing thing) {
new DataValidatorBuilder().resource("yourThing")
...
.throwValidationErrors();
}
}
----
== Declarative
https://issues.apache.org/jira/browse/FINERACT-1229[FINERACT-1229] is an open issue about adopting Bean Validation for _declarative_ instead of _programmatic_ (as above) validation. Contributions welcome!