Организация проверочных сообщений в Struts2 validation (XML) - PullRequest
0 голосов
/ 14 октября 2011

Я пытаюсь выполнить проверки в стойках 2 для моего текущего проекта.Я должен сгруппировать свои сообщения проверки.Например: если есть 3 пустых поля и есть 3 других поля с неправильным форматом, мне нужно получить сообщение типа «Обязательны следующие поля: field1, field2, field3 Формат следующих полей недействителен»: field4, field5, field6 "

Я попытался предоставить параметр fieldError.Например:


</ s: fielderror>

По-моему, это похоже на указание "показать все ошибки, чей тип валидатора является обязательной строкой ".Пожалуйста, поправьте меня, если я ошибаюсь.Но при этом для каждого пустого поля будет отображаться сообщение «Следующие поля обязательны для заполнения».Я хочу, чтобы он отображался только один раз.

Есть ли способ сделать это чисто в stuts2, используя проверку через xml?Я не хочу делать все проверки в методе validate.

Спасибо

1 Ответ

0 голосов
/ 15 октября 2011

Вы не правы; Я понятия не имею, почему вы думали, что это сработает, документы не подразумевают, что это возможно.

Полевые ошибки - это просто ошибки для определенного поля. Если вам нужно сгруппировать ошибки по произвольным критериям, например, по типу проверки, вам нужно реализовать это самостоятельно.

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

Вы могли бы собирать ошибки на основе содержимого сообщения, но IMO это было бы хрупким. Если это проблема между приложениями, лучше сделать это по-другому.

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

...