项目作者: uzrnem

项目描述 :
Java library for validating Object/Data, available on Maven and other servers.
高级语言: Java
项目地址: git://github.com/uzrnem/verify.git
创建时间: 2021-01-24T09:10:29Z
项目社区:https://github.com/uzrnem/verify

开源协议:MIT License

下载


validator

Add Dependency to your maven project
https://search.maven.org/artifact/com.github.uzrnem/verify/0.0.2/jar

  1. <dependency>
  2. <groupId>com.github.uzrnem</groupId>
  3. <artifactId>verify</artifactId>
  4. <version>0.0.2</version>
  5. </dependency>

Before starting please go through Test cases provided.

You can create your Validator with POJO

  1. class Model {
  2. private String firstName;
  3. private String lastName;
  4. private Integer age;
  5. private Integer Salary;
  6. //Assume all getter setter methods here
  7. public static Validator<Model> validator = Validator.stream(Model.class)
  8. .add(Model::getFirstName, Validator.REQUIRED | Validator.UPPERCASE, "First name is required and to be uppercase")
  9. .add(Model::getLastName, Validator.LOWERCASE, "Last name required to be lowercase")
  10. .min(Model::getFirstName, 5, "First name is invalid")
  11. .max(Model::getLastName, 10, "Last name is invalid")
  12. .max(Model::getAge, 55, "Employee age limit is reached")
  13. .min(Model::getSalary, 10000, "Salary can't be less than 10000")
  14. .in(Model::getLastName, Arrays.asList("Larry", "Moe", "curly"), "Last name is not expected")
  15. .notIn(Model::getFirstName, Arrays.asList("Thonas", "Loki"), "You are villan")
  16. .check(Model::getLastName, l -> l.startsWith("c"), "Last name is not C.lassy");
  17. }

Lets talk about functions by Validator

  1. add(): you can add here checks(ALPHABETIC, ALPHANUMERIC, NUMERIC, UPPERCASE, LOWERCASE, REQUIRED, EMAIL) with or operator
  2. min(): you can check min for String and Integer values
  3. max(): you can check max for String and Integer values
  4. in(): you need to provide list and check given value is provided in list.
  5. notIn(): you need to provide list and check given value is provided not in list.
  6. check(): you can provide your own Predicate function and say validate using this.
    ```
    Model m = new Model();
    m.setFirstName(“Greta”);
    m.setLastName(“Thunderburg”);
    m.setAge(60);
    m.setSalary(9000);

Model.validator.test(m) //Returns True or False

Model.validator.getErrors() //Returns Errors List

  1. Use Check class for other validations

String empty = “”;
String lowerCase = “lowercase”;
String upperCase = “UPPERCASE”;
String mixedCase = “Mixed”;

assertTrue(Check.isNull(null));
assertTrue(Check.isEmpty(empty));
assertTrue(Check.isUppercase(upperCase));
assertTrue(Check.isLowercase(lowerCase));
assertTrue(Check.isLengthLessThan(mixedCase, 6));
assertTrue(Check.isLengthGreaterThan(mixedCase, 4));
assertTrue(Check.isLessThan(5, 6));
assertTrue(Check.isGreaterThan(5, 4));

assertTrue(Check.isEmail(“uzrnem@gmail.com”));
assertFalse(Check.isEmail(“uzr..nem@gmail.com”));

assertTrue(Check.isAlphabetic(“bhagyeshsunilpatel”));
assertFalse(Check.isAlphabetic(“bhagyesh sunil patel”));

assertTrue(Check.isAlphaNumeric(“bhagyesh94”));
assertFalse(Check.isAlphaNumeric(“bhagyesh.patel”));

assertTrue(Check.isNumeric(“2e10”));
assertTrue(Check.isNumeric(“2010”));
assertFalse(Check.isNumeric(“10e5.4”));
assertFalse(Check.isNumeric(“2,10”));
```