Struts2 - отключить ошибку конвертации - PullRequest
0 голосов
/ 20 мая 2011

У меня есть поле ssn (представленное как класс String in Action), в которое пользователь вводит что-то в следующем формате 123-23-2233. Struts2 выдает ошибку. Я не знаю, где это настроено для этого, чтобы выбросить это как ошибку. Как мне это остановить?

У меня есть своя валидация в методе validate (), что-то вроде этого

if(StringUtility.isBlank(person.getSsn()) || !validateRegex(SSN_REGEX,person.getSsn().trim())){
   this.addFieldError("person.ssn","SSN is required");
}

1 Ответ

0 голосов
/ 05 ноября 2015

Ошибки преобразования будут добавлены в карту ошибок поля еще до того, как ваш метод validate будет запущен.Таким образом, существует очень простой способ их удаления, как только вы перейдете к своему методу validate.Просто удалите ошибку с карты, прежде чем добавить свою.

Пример кода ниже;

if(yourCondition){
   // Check whether this field has existing errors and remove them.
   List<String> existingErrors = getFieldErrors().get("person.ssn");
   if(existingErrors != null){
       existingErrors.clear();
   }       
   // Add your own error.
   addFieldError("person.ssn","SSN is required");
}

Аналогичным образом вы можете очистить всю карту ошибок полей, если вы хотите очистить сообщения об ошибках по умолчанию для всех полей.

Надеюсь, это поможет.

...