import javax.validation.constraints.Pattern;
public class A {
@Pattern(regexp = "")
private String values;
// getter and setter
}
public class Main {
public static void main(String[] args) {
ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
Validator validator = factory.getValidator();
A a = new A();
a.setValues("name1:value1,name2:value,name10:value7");
Set<ConstraintViolation<A>> constraintViolations = validator.validate(a);
System.out.println(constraintViolations.size());
System.out.println(constraintViolations.iterator().next().getMessage());
}
}
Поле private String values;
содержит comma separated values (name:value, ...,...). Где "name" и "value" не должны повторяться. Разделитель ","
Как проверить на языке java валидность через один regex используя @Pattern ?:
^((\w+):\w+(?!.*,\2:)(,|$))+$
Для проверки (в браузере под \w
подойдут только латинские буквы, цифры и подчёркивания, джава должна сделать правильно):
input { outline: none; border: 1px solid; width: 100%; box-sizing: border-box; }
:valid { border-color: green; }
:invalid { border-color: red; }
<input pattern="^((\w+):\w+(?!.*,\2:)(,|$))+$" autofocus>
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Метод должен возвратить индекс такси, для которого будет выгоднее всего подъехать к whereIsClienttaxis - LinkedList, calcDistance - вычисляет расстояние между...
Правильная ли такая реализация потокобезопасного Singleton? И как его можно ещё реализовать без применения synchronized и volatile?
Есть два поля начальная дата и конечная дата На входе получить начальная дата c текущей датой, конечная дата должна быть выше начальная дата,...