Object Validator

Simple Object Validator based on Hibernate validation library with JSON rules format.

License

License

GroupId

GroupId

com.isadounikau
ArtifactId

ArtifactId

object-validator
Last Version

Last Version

1.0
Release Date

Release Date

Type

Type

jar
Description

Description

Object Validator
Simple Object Validator based on Hibernate validation library with JSON rules format.
Project URL

Project URL

https://github.com/Sadovnikov94/object-validator
Source Code Management

Source Code Management

https://github.com/Sadovnikov94/object-validator

Download object-validator

How to add to project

<!-- https://jarcasting.com/artifacts/com.isadounikau/object-validator/ -->
<dependency>
    <groupId>com.isadounikau</groupId>
    <artifactId>object-validator</artifactId>
    <version>1.0</version>
</dependency>
// https://jarcasting.com/artifacts/com.isadounikau/object-validator/
implementation 'com.isadounikau:object-validator:1.0'
// https://jarcasting.com/artifacts/com.isadounikau/object-validator/
implementation ("com.isadounikau:object-validator:1.0")
'com.isadounikau:object-validator:jar:1.0'
<dependency org="com.isadounikau" name="object-validator" rev="1.0">
  <artifact name="object-validator" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.isadounikau', module='object-validator', version='1.0')
)
libraryDependencies += "com.isadounikau" % "object-validator" % "1.0"
[com.isadounikau/object-validator "1.0"]

Dependencies

compile (3)

Group / Artifact Type Version
org.hibernate : hibernate-validator jar 6.0.16.Final
org.glassfish : javax.el jar 3.0.1-b11
com.google.code.gson : gson jar 2.8.5

runtime (1)

Group / Artifact Type Version
org.jetbrains.kotlin : kotlin-stdlib-jdk8 jar 1.3.21

test (1)

Group / Artifact Type Version
junit : junit jar 4.4

Project Modules

There are no modules declared in this project.

object-validator

Build Status codecov Maven Central

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 rules
  • classes is a classes you want to validate
  • fields is a fields you want to validate
  • constraints 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"
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}

Versions

Version
1.0