validator-core

Java 유효성 검사 인터페이스

Лицензия

Лицензия

Группа

Группа

io.github.cube8540
Идентификатор

Идентификатор

validator-core
Последняя версия

Последняя версия

1.3.0-RELEASE
Дата

Дата

Тип

Тип

jar
Описание

Описание

validator-core
Java 유효성 검사 인터페이스
Ссылка на сайт

Ссылка на сайт

https://github.com/cube8540/validator-core
Система контроля версий

Система контроля версий

https://github.com/cube8540/validator-core

Скачать validator-core

Как подключить последнюю версию

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

Зависимости

provided (1)

Идентификатор библиотеки Тип Версия
org.projectlombok : lombok jar 1.18.10

test (5)

Идентификатор библиотеки Тип Версия
org.junit.jupiter : junit-jupiter-api jar 5.7.1
org.junit.jupiter : junit-jupiter-engine jar 5.7.1
org.junit.jupiter : junit-jupiter-params jar 5.7.1
org.mockito : mockito-core jar 3.9.0
org.mockito : mockito-inline jar 3.9.0

Модули Проекта

Данный проект не имеет модулей.

validator-core

객체의 유효성을 확인하기 위한 주요 인터페이스 및 클래스

1. Installation

OpenJDK 11 이상

1.1. maven

<dependencies>
    <dependency>
        <groupId>io.github.cube8540</groupId>
        <artifactId>validator-core</artifactId>
        <version>1.3.0-RELEASE</version>
    </dependency>
</dependencies>

1.2. Gradle

dependencies {

    compile 'io.github.cube8540:validator-core:1.3.0-RELEASE'
}

2. Getting Started

2.1. Validator + ValidationRule 을 이용한 객체 유효성 검사 방법

// 유효성 검사 규칙을 구현
public class YourValidationRule implements ValidationRule<YourClass> {
    @Override
    public boolean isValid(YourClass object) {
        // 유효성 검사 결과 반환 (유효할시 true 유효하지 않을시 false)
    }

    @Override
    public ValidationError error() {
        return new ValidationError(PROPERTY, ERROR_MESSAGE);
    }
}

// 유효성 검사후 검사 결과를 얻기
ValidationResult result = Validator.of(yourObject)
    .registerRule(new YourValidationRule())
    .getResult();

2.2. ValidationSpecification 구현 방법

// AbstractValidationSpecification 을 상속받아 구현한다.
public class YourValidationSpecification extends AbstractValidationSpecification<YourClass> {
    @Override
    public boolean isValid(YourClass object) {
        // 유효성 검사 결과 반환 (유효할시 true 유효하지 않을시 false)
    }
}

// 유효성 검사 명세서를 이용하여 규칙을 구현
public class YourValidationRule implements ValidationRule<YourClass> {

    private final Specification<YourClass> specification;

    pubic YourValidationRule(Specification<YourClass> specification) {
        this.specification = specification;
    }
 
    @Override
    public boolean isValid(YourClass object) {
        return specification.isValid(object);
    }

    @Override
    public ValidationError error() {
        return new ValidationError(PROPERTY, ERROR_MESSAGE);
    }
}

// 유효성 검사 명세서를 조합
ValidationRule<YourClass> specification = new YourValidationSpecification1()
        .and(YourValidationSpecification2())
        .or(YourValidationSpecification3())
        ...;

// 유효성 검사후 검사 결과를 얻기
ValidationResult result = Validator.of(yourObject)
    .registerRule(new YourValidationRule(specification))
    .getResult();
    
// ValidationResult 형식이 아닌 Boolean 형식으로 결과값 반환
boolean result = specification.isValid(yourObject);

2.3. Operator 이용

// 가장 기본적인 Operator 생성
Operator<YourClassType> operator = new ValidationOperator<YourClassType>(Operator.OperatorType.AND)
    .addOperand(target -> ...return true/false)
    .addOperand(target -> ...return true/false)
    .....;

// 결과 얻기
boolean result = operator.isValid(yourObject);

3. License

           DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
                   Version 2, December 2004

Copyright (C) 2019 cube8540 <cube8540@gmail.com>

Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.

DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. You just DO WHAT THE FUCK YOU WANT TO.

Версии библиотеки

Версия
1.3.0-RELEASE
1.2.0-RELEASE