object-validator
Simple Object Validator based on Hibernate validation library
Rules can be build by code or in the JSON format
KeyObject
is any object you want to use as a key for your validation rulesclasses
is a classes you want to validatefields
is a fields you want to validateconstraints
is validation rules
val key = KeyObject(officeId = 57, anotherField = "value")
val rule = DefaultConstraintMapping()
rule.type(TestDTO::class.java)
.property("id", ElementType.FIELD)
.constraint(NotEmptyDef().message("errorMessage"))
.constraint(PatternDef().message("errorMessage").regexp("\\b[A-Z0-9._%-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}\\b"))
validatorFactory.add(key, rule)
validatorFactory.validate(key, TestDTO("non valid"))
Representation of a file with rules for validation:
{
"key": {
"officeId": 57,
"anotherField": "value"
},
"classes": [
{
"name": "com.isadounikau.TestDTO",
"fields": [
{
"name": "id",
"constraints": [
{
"type": "org.hibernate.validator.cfg.defs.NotEmptyDef",
"errorMessage": "error"
},
{
"type": "org.hibernate.validator.cfg.defs.PatternDef",
"errorMessage": "error",
"parameters": [
{
"key": "regexp",
"value": "\\b[A-Z0-9._%-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}\\b"
}
]
}
]
}
]
}
]
}