Здесь вы идете .. Это не очень жестко .. Я поделюсь вам код для проверки строки является действительным IP-адрес:
Вы должны написать аннотации для проверки правильности и вам нужно написать конкретную реализацию Validator:
Ниже приведен класс аннотаций для проверки подлинности, которые можно использовать на конкретном поле, которое вы хотите проверить:
@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 {};
}
Теперь вам нужно написать конкретную реализацию валидатора a S ниже:
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;
Не это будет работать во время связывания, когда пружина пытается отобразить параметры формы в бобе.
Чтобы указать на это, метод isValid - это тот, который должен иметь логику для проверки действительности.
Метод инициализации - это тот, который используется для выполнения любой инициализации до вызова isValid.
Попробуйте это, и если вам по-прежнему нужна помощь по настроенному вопросу, дайте мне знать, что у меня может быть время написать его для вас.
добро пожаловать – dharam
Мне нужно проверить объект на уровне контроллера. Как и на контроллере, вы пишете аннотацию «@valid» для проверки объекта. Я хочу настроить «@valid» аннотацию si, что если я дам «@valid» (type = 'draft') в контроллере, тогда он должен проверять только число и номер рулона, и если я дам «@valid» (type = 'save '), то он должен проверять атрибуты ученика. – user1183194
Затем вы поместили группу Draft (в основном пустой класс маркера под названием Draft) на номер рулона и аннотацию проверки идентификатора, а также всю группу во всех аннотациях проверки и проверили с помощью специальной аннотации проверки подлинности Spring, которая поддерживает группы - @Validated (Draft.class) –