LoginSignup
0
0

バリデーション

Posted at

半角のみの入力を制限するバリデータ
import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;

public class HalfWidthValidator implements ConstraintValidator {
@Override
public void initialize(HalfWidthOnly constraintAnnotation) {
}

@Override
public boolean isValid(String value, ConstraintValidatorContext context) {
    if (value == null) {
        return true; // null値は許可
    }
    return value.matches("[\\x00-\\x7F]+"); // ASCII文字のみを許可
}

}

半角のみの入力を制限するアノテーション
import javax.validation.Constraint;
import javax.validation.Payload;
import java.lang.annotation.*;

@Documented
@Constraint(validatedBy = HalfWidthValidator.class)
@Target({ElementType.FIELD, ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
public @interface HalfWidthOnly {
String message() default "半角文字のみを入力してください";
Class>[] groups() default {};
Class extends Payload>[] payload() default {};
}

全角のみの入力を制限するバリデータ
import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;

public class FullWidthValidator implements ConstraintValidator {
@Override
public void initialize(FullWidthOnly constraintAnnotation) {
}

@Override
public boolean isValid(String value, ConstraintValidatorContext context) {
    if (value == null) {
        return true; // null値は許可
    }
    return !value.matches("[\\x00-\\x7F]+"); // ASCII文字以外を許可
}

}
全角のみの入力を制限するアノテーション
import javax.validation.Constraint;
import javax.validation.Payload;
import java.lang.annotation.*;

@Documented
@Constraint(validatedBy = FullWidthValidator.class)
@Target({ElementType.FIELD, ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
public @interface FullWidthOnly {
String message() default "全角文字のみを入力してください";
Class>[] groups() default {};
Class extends Payload>[] payload() default {};
}

0
0
10

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0