33 lines
1.0 KiB
Markdown
33 lines
1.0 KiB
Markdown
# Validation
|
|
|
|
## Programmatic
|
|
|
|
Use the [DataValidatorBuilder](https://github.com/apache/fineract/search?q=%22class+DataValidatorBuilder%22), e.g. like so:
|
|
|
|
```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 [`*Validator`](https://github.com/apache/fineract/search?q=Validator)
|
|
classes (if more than a few lines, and/or reused from several places; avoid copy/paste), like so:
|
|
|
|
```java
|
|
public class YourThingValidator {
|
|
|
|
public void validate(YourThing thing) {
|
|
new DataValidatorBuilder().resource("yourThing")
|
|
...
|
|
.throwValidationErrors();
|
|
}
|
|
}
|
|
```
|
|
|
|
|
|
## Declarative
|
|
|
|
[FINERACT-1229](https://issues.apache.org/jira/browse/FINERACT-1229) is an open issue about adopting
|
|
Bean Validation for _declarative_ instead of _programmatic_ (as above) validation. Contributions welcome!
|