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)@Documentedpublic @interface List {Email[] value();}}
