File tree Expand file tree Collapse file tree 6 files changed +94
-0
lines changed
src/main/java/org/javawebstack/validator Expand file tree Collapse file tree 6 files changed +94
-0
lines changed Original file line number Diff line number Diff line change 3232 <version >5.4.2</version >
3333 <scope >test</scope >
3434 </dependency >
35+ <dependency >
36+ <groupId >com.sun.mail</groupId >
37+ <artifactId >javax.mail</artifactId >
38+ <version >1.6.2</version >
39+ </dependency >
3540 </dependencies >
3641
3742 <build >
Original file line number Diff line number Diff line change @@ -36,6 +36,10 @@ public class Validator {
3636 registerRuleType ("date" , DateRule .class );
3737 registerRuleType ("array" , ArrayRule .class );
3838 registerRuleType ("list" , ArrayRule .class );
39+ registerRuleType ("alpha" , AlphaRule .class );
40+ registerRuleType ("alpha_num" , AlphaNumRule .class );
41+ registerRuleType ("alpha_dash" , AlphaDashRule .class );
42+ registerRuleType ("email" , EmailRule .class );
3943 }
4044
4145 public static void registerRuleType (String name , Class <? extends ValidationRule > type ){
Original file line number Diff line number Diff line change 1+ package org .javawebstack .validator .rule ;
2+
3+ import org .javawebstack .abstractdata .AbstractElement ;
4+ import org .javawebstack .validator .ValidationContext ;
5+
6+ import java .lang .reflect .Field ;
7+
8+ public class AlphaDashRule implements ValidationRule {
9+ @ Override
10+ public String validate (ValidationContext context , Field field , AbstractElement value ) {
11+ if (value == null )
12+ return null ;
13+
14+ String pattern = "[A-Za-z0-9-_]*" ;
15+ if (!value .string ().matches (pattern ))
16+ return "Value must only contain alpha-numeric characters as well as dashes and underscores." ;
17+
18+ return null ;
19+ }
20+ }
Original file line number Diff line number Diff line change 1+ package org .javawebstack .validator .rule ;
2+
3+ import org .javawebstack .abstractdata .AbstractElement ;
4+ import org .javawebstack .validator .ValidationContext ;
5+
6+ import java .lang .reflect .Field ;
7+
8+ public class AlphaNumRule implements ValidationRule {
9+ @ Override
10+ public String validate (ValidationContext context , Field field , AbstractElement value ) {
11+ if (value == null )
12+ return null ;
13+
14+ String pattern = "[A-Za-z0-9]*" ;
15+ if (!value .string ().matches (pattern ))
16+ return "Value must only contain alpha-numeric characters." ;
17+
18+ return null ;
19+ }
20+ }
Original file line number Diff line number Diff line change 1+ package org .javawebstack .validator .rule ;
2+
3+ import org .javawebstack .abstractdata .AbstractElement ;
4+ import org .javawebstack .validator .ValidationContext ;
5+
6+ import java .lang .reflect .Field ;
7+
8+ public class AlphaRule implements ValidationRule {
9+ @ Override
10+ public String validate (ValidationContext context , Field field , AbstractElement value ) {
11+ if (value == null )
12+ return null ;
13+
14+ String pattern = "[A-Za-z]*" ;
15+ if (!value .string ().matches (pattern ))
16+ return "Value must only contain alphabetic characters." ;
17+
18+ return null ;
19+ }
20+ }
Original file line number Diff line number Diff line change 1+ package org .javawebstack .validator .rule ;
2+
3+ import org .javawebstack .abstractdata .AbstractElement ;
4+ import org .javawebstack .validator .ValidationContext ;
5+
6+ import javax .mail .internet .AddressException ;
7+ import javax .mail .internet .InternetAddress ;
8+ import java .lang .reflect .Field ;
9+
10+ public class EmailRule implements ValidationRule {
11+ @ Override
12+ public String validate (ValidationContext context , Field field , AbstractElement value ) {
13+ if (value == null )
14+ return null ;
15+
16+ try {
17+ InternetAddress emailAddr = new InternetAddress (value .string ());
18+ emailAddr .validate ();
19+ } catch (AddressException ex ) {
20+ return "Value is not a valid email address" ;
21+ }
22+
23+ return null ;
24+ }
25+ }
You can’t perform that action at this time.
0 commit comments