Skip to content

Validation Rules

ozangunalp edited this page Aug 2, 2018 · 5 revisions

Installation

See latest version in maven central.

Maven

<!-- The dependency for doov -->
<dependency>
  <groupId>io.doov</groupId>
  <artifactId>doov-code</artifactId>
  <version>LATEST</version>
</dependency>
<!-- The dependency on your generated DSL (see previous step) -->
<dependency>
  <groupId>io.doov</groupId>
  <artifactId>doov-sample-generated</artifactId>
  <version>1.0-SNAPSHOT</version>
</dependency>

Gradle

dependencies {
  compile project(':doov-sample-generated')
}

Sample project

This documentation is based on the sample project in dOOv. You can replace the package name io.doov.sample by your package name as com.example.myapp and classes name Sample with MyApp.

Usage

As the entry point you can either use io.doov.dsl.DOOV which is generic and do not depend on the type of your model, or the generated class io.doov.sample.field.dsl.DslSampleModel.

package io.doov.sample.validation;

import static io.doov.sample.field.dsl.DslSampleModel.accountEmail;

public interface SampleRules {

    // Generic way of writing a rule
    ValidationRule RULE_EMAIL_GENERIC = DOOV
        .when(accountEmail.matches("\\w+[@]\\w+\\.com"))
        .validate();

    // Typed way of writing a rule (makes execution more streamlined)
    ModelStepWhen RULE_EMAIL = DslModel
        .when(accountEmail.matches("\\w+[@]\\w+\\.com"))
        .validate();

}

API

Next

See Validation Engine