Java 使用自定义批注验证手机号码时显示多条消息
我使用了下面的自定义注释来验证联系人号码Java 使用自定义批注验证手机号码时显示多条消息,java,spring,Java,Spring,我使用了下面的自定义注释来验证联系人号码 @Documented @Constraint(validatedBy = ContactNumberValidator.class) @Target({ ElementType.METHOD, ElementType.FIELD }) @Retention(RetentionPolicy.RUNTIME) public @interface ContactNumberConstraint { String message() default "
@Documented
@Constraint(validatedBy = ContactNumberValidator.class)
@Target({ ElementType.METHOD, ElementType.FIELD })
@Retention(RetentionPolicy.RUNTIME)
public @interface ContactNumberConstraint {
String message() default "Invalid phone number";
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};
}
public class ContactNumberValidator implements ConstraintValidator<ContactNumberConstraint, String> {
@Override
public void initialize(ContactNumberConstraint contactNumber) {
}
@Override
public boolean isValid(String contactField, ConstraintValidatorContext cxt) {
return contactField != null && contactField.matches("[0-9]+") && (contactField.length() > 8) && (contactField.length() < 14);
}
}
@已记录
@约束(validatedBy=ContactNumberValidator.class)
@目标({ElementType.METHOD,ElementType.FIELD})
@保留(RetentionPolicy.RUNTIME)
public@interface ContactNumberConstraint{
字符串消息()默认为“无效电话号码”;
类[]组()默认值{};
ClassWhy自定义验证?添加@NotNull
、@Pattern(“[0-9]+”)
和@Size(min=9,max=14)
应该会产生您想要的结果。@M.Deinum您是对的。我只是想了解一下。这样我就可以实现其他验证了。