terasoluna
1半角英数字の文字種に限定する@Alphanumericアノテーションの実装例 2 3package com.example.common.validation; 4 5import java.lang.annotation.Documented; 6import java.lang.annotation.Retention; 7import java.lang.annotation.Target; 8import javax.validation.Constraint; 9import javax.validation.Payload; 10import javax.validation.ReportAsSingleViolation; 11import javax.validation.constraints.Pattern; 12 13import static java.lang.annotation.ElementType.ANNOTATION_TYPE; 14import static java.lang.annotation.ElementType.CONSTRUCTOR; 15import static java.lang.annotation.ElementType.FIELD; 16import static java.lang.annotation.ElementType.METHOD; 17import static java.lang.annotation.ElementType.PARAMETER; 18import static java.lang.annotation.RetentionPolicy.RUNTIME; 19 20@Documented 21@Constraint(validatedBy = {}) 22@Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER }) 23@Retention(RUNTIME) 24@ReportAsSingleViolation 25@Pattern(regexp = "[a-zA-Z0-9]*") 26public @interface AlphaNumeric { 27 String message() default "{com.example.common.validation.AlphaNumeric.message}"; 28 29 Class<?>[] groups() default {}; 30 31 Class<? extends Payload>[] payload() default {}; 32 33 @Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER }) 34 @Retention(RUNTIME) 35 @Documented 36 public @interface List { 37 AlphaNumeric[] value(); 38 } 39}
上記コードは半角英数字の文字種のみ限定する@Alphanumericアノテーションの実装例ですが、
全角英小数字の文字種のみエラーに限定する@Alphanumericアノテーションの実装をしたいです。
その場合[a-zA-Z0-9]→[a-zA-Z0-90-9]とする書き方で大丈夫でしょうか?
あなたの回答
tips
プレビュー