Я хочу проверить объект условно

у меня есть объект в моем классе. Я проверяю это с помощью валидатора hibernate следующим образом:

@Pattern(regexp="[0-9]{1,13}")
private String onlyNumber = null;

Но я хочу проверить свой объект, когда

if(onlyNumber != null && !onlyNumber.equals("")

потому что это необязательно. И я хочу сделать это с помощью регулярного выражения. Есть ли способ добиться этого? Благодарность


person devgirl    schedule 11.02.2015    source источник
comment
Вам нужно написать свой собственный ConstraintValidator и Annotation.   -  person shazin    schedule 11.02.2015
comment
stackoverflow.com/questions/5998978/   -  person Frederic Close    schedule 11.02.2015


Ответы (1)


@Pattern(regexp="[0-9]{0,13}")

должно быть достаточно. нулевые значения всегда считаются допустимыми (вам нужно @NotNull в дополнение к другим проверкам, чтобы отклонить нуль). И пустая строка соответствует приведенному выше регулярному выражению.

person JB Nizet    schedule 11.02.2015
comment
Да, вы правы, но на самом деле моя строка может получить значение, и в этом случае я тоже хочу отклонить проверку. - person devgirl; 11.02.2015
comment
Да так? Вы пробовали вышеперечисленное? Как я уже сказал: пустая строка соответствует приведенному выше регулярному выражению. Таким образом, пустая строка является допустимым значением. И это то, что вы хотите. - person JB Nizet; 11.02.2015
comment
Извините, я думал, что это то же самое, что и у меня. Да пробовал и получилось. Спасибо !! - person devgirl; 11.02.2015