给你..这不是很难..我将与您分享验证字符串是否为有效 IP 地址的代码:
您需要为验证器编写注释,并且需要编写具体的验证器实现:
下面是验证器的注释类,您可以在要验证的特定字段上使用它:
@Target({ FIELD})
@Retention(RUNTIME)
@Constraint(validatedBy = InetAddressValidator.class)
@Documented
public @interface ValidIP {
String message() default "{ValidIP.message}";
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};
}
现在您需要编写一个具体的验证器实现,如下所示:
public class InetAddressValidator implements ConstraintValidator<ValidIP, String> {
private static final Pattern IPV4_PATTERN =
Pattern.compile("^([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.");
public boolean isValid(String value, ConstraintValidatorContext context) {
if (!(CommonUtility.isNullOrEmpty(value) || IPV4_PATTERN.matcher(value).matches()))
{
return false;
}
return true;
}
public void initialize(ValidIP parameters) {
}
}
您可以在如下字段中包含此注释:
@ValidIP(message = "Enter a valid IP address")
private String ip;
当spring尝试将表单参数映射到bean时,这不会在绑定时起作用。
需要指出的是, isValid 方法是一种需要有逻辑来检查有效性的方法。
初始化方法是用于在调用 isValid 之前执行任何初始化的方法。
试试这个,如果您仍然需要有关自定义问题的帮助,请告诉我,我可能有时间为您编写。