Skip to content

Commit 74975bf

Browse files
authored
Merge pull request #5 from avaje/feature/validation-request
Add validator-constraints as separate module
2 parents 23f848f + 47a4951 commit 74975bf

File tree

9 files changed

+171
-0
lines changed

9 files changed

+171
-0
lines changed

pom.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828

2929
<modules>
3030
<module>validator</module>
31+
<module>validator-constraints</module>
3132
</modules>
3233

3334
<profiles>

validator-constraints/pom.xml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5+
<modelVersion>4.0.0</modelVersion>
6+
<parent>
7+
<groupId>io.avaje</groupId>
8+
<artifactId>avaje-validator-parent</artifactId>
9+
<version>1.5-SNAPSHOT</version>
10+
</parent>
11+
12+
<groupId>org.example</groupId>
13+
<artifactId>validator-constraints</artifactId>
14+
15+
<properties>
16+
<maven.compiler.source>20</maven.compiler.source>
17+
<maven.compiler.target>20</maven.compiler.target>
18+
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
19+
</properties>
20+
21+
</project>
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package io.avaje.validation.constraints;
2+
3+
import java.lang.annotation.*;
4+
5+
@Target({ElementType.METHOD, ElementType.FIELD})
6+
@Retention(RetentionPolicy.RUNTIME)
7+
@Repeatable(Digits.List.class)
8+
public @interface Digits {
9+
String message() default "{avaje.validation.constraints.Digits.message}";
10+
11+
Class<?>[] groups() default {};
12+
13+
int value();
14+
15+
int fraction() default 0;
16+
17+
@Target({ElementType.METHOD, ElementType.FIELD})
18+
@Retention(RetentionPolicy.RUNTIME)
19+
@Documented
20+
public @interface List {
21+
Digits[] value();
22+
}
23+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package io.avaje.validation.constraints;
2+
3+
import java.lang.annotation.*;
4+
5+
@Target({ElementType.METHOD, ElementType.FIELD})
6+
@Retention(RetentionPolicy.RUNTIME)
7+
@Repeatable(IsFalse.List.class)
8+
public @interface IsFalse {
9+
String message() default "{avaje.validation.constraints.IsFalse.message}";
10+
11+
Class<?>[] groups() default {};
12+
13+
@Target({ElementType.METHOD, ElementType.FIELD})
14+
@Retention(RetentionPolicy.RUNTIME)
15+
@Documented
16+
@interface List {
17+
IsFalse[] value();
18+
}
19+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package io.avaje.validation.constraints;
2+
3+
import java.lang.annotation.*;
4+
5+
@Target({ElementType.METHOD, ElementType.FIELD})
6+
@Retention(RetentionPolicy.RUNTIME)
7+
@Repeatable(IsTrue.List.class)
8+
public @interface IsTrue {
9+
String message() default "{avaje.validation.constraints.IsTrue.message}";
10+
11+
Class<?>[] groups() default {};
12+
13+
@Target({ElementType.METHOD, ElementType.FIELD})
14+
@Retention(RetentionPolicy.RUNTIME)
15+
@Documented
16+
@interface List {
17+
IsTrue[] value();
18+
}
19+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package io.avaje.validation.constraints;
2+
3+
import java.lang.annotation.*;
4+
5+
@Target({ElementType.METHOD, ElementType.FIELD})
6+
@Retention(RetentionPolicy.RUNTIME)
7+
@Repeatable(Max.List.class)
8+
public @interface Max {
9+
String message() default "{avaje.validation.constraints.Max.message}";
10+
11+
Class<?>[] groups() default {};
12+
13+
double value();
14+
15+
@Target({ElementType.METHOD, ElementType.FIELD})
16+
@Retention(RetentionPolicy.RUNTIME)
17+
@Documented
18+
@interface List {
19+
Max[] value();
20+
}
21+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package io.avaje.validation.constraints;
2+
3+
import java.lang.annotation.*;
4+
5+
@Target({ElementType.METHOD, ElementType.FIELD})
6+
@Retention(RetentionPolicy.RUNTIME)
7+
@Repeatable(Min.List.class)
8+
public @interface Min {
9+
String message() default "{avaje.validation.constraints.Min.message}";
10+
11+
Class<?>[] groups() default {};
12+
13+
double value();
14+
15+
@Target({ElementType.METHOD, ElementType.FIELD})
16+
@Retention(RetentionPolicy.RUNTIME)
17+
@Documented
18+
@interface List {
19+
Min[] value();
20+
}
21+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package io.avaje.validation.constraints;
2+
3+
import java.lang.annotation.*;
4+
5+
@Target({ElementType.METHOD, ElementType.FIELD})
6+
@Retention(RetentionPolicy.RUNTIME)
7+
@Repeatable(io.avaje.validation.constraints.Range.List.class)
8+
public @interface Range {
9+
String message() default "{avaje.validation.constraints.Range.message}";
10+
11+
Class<?>[] groups() default {};
12+
13+
double min();
14+
15+
double max();
16+
17+
@Target({ElementType.METHOD, ElementType.FIELD})
18+
@Retention(RetentionPolicy.RUNTIME)
19+
@Documented
20+
@interface List {
21+
io.avaje.validation.constraints.Range[] value();
22+
}
23+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package io.avaje.validation.constraints;
2+
3+
import java.lang.annotation.*;
4+
5+
@Target({ElementType.METHOD, ElementType.FIELD})
6+
@Retention(RetentionPolicy.RUNTIME)
7+
@Repeatable(Size.List.class)
8+
public @interface Size {
9+
String message() default "{avaje.validation.constraints.Size.message}";
10+
11+
Class<?>[] groups() default {};
12+
13+
int min();
14+
15+
int max();
16+
17+
@Target({ElementType.METHOD, ElementType.FIELD})
18+
@Retention(RetentionPolicy.RUNTIME)
19+
@Documented
20+
@interface List {
21+
Size[] value();
22+
}
23+
}

0 commit comments

Comments
 (0)