validation
validationjar2.0.1包下定义的校验常数包含email、是否为null,等校验,但是没有手机号。
在登录时需要验证用户的手机号格式并不为空,密码长度且不为空。 这种操作一般会在前端先进行验证,后端也要进行二次验证。
为了减少业务层的if-else逻辑,那么这里将使用jsr303注解式校验器。
@Email注解示例
@Documented
@Constraint(
validatedBy = {}
)
@Target({ElementType.METHOD, ElementType.FIELD, ElementType.ANNOTATION_TYPE, ElementType.CONSTRUCTOR, ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
@ReportAsSingleViolation
@Pattern(
regexp = ""
)
public @interface Email {
String message() default "{org.hibernate.validator.constraints.Email.message}";
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};
@OverridesAttribute(
constraint = Pattern.class,
name = "regexp"
)
String regexp() default ".*";
@OverridesAttribute(
constraint = Pattern.class,
name = "flags"
)
Flag[] flags() default {};
@Target({ElementType.METHOD, ElementType.FIELD, ElementType.ANNOTATION_TYPE, ElementType.CONSTRUCTOR, ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface List {
Email[] value();
}
}