Files
cbsnexora-backend/docs/developers/validation.md
T

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!