| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > Валидация в стратс |
| Автор: FcUK 2.3.2007, 17:48 | ||||
| Привет небольшая проблема з валидацией формы имеется форма на jsp
При первой загрузке этой страници все данные для инпутов берутса из реквеста
Потом на екшене /userSave.do стоит валидация. И если она возвращает ошибки тогда страница уже не отображаетса потому что реквест умер и нет откуда брать дание для заполнения формы. как решить даную проблему? ЗЫ Использовать сессию, а не реквест для сохранения даных в даной апликухе (по соображениям бизнес логики) не возможно |
| Автор: zone51 3.3.2007, 17:34 | ||||||||||||
| FcUK, А у тебя валидация в Action или ActionForm? Как я делал: Есть форма
Для нее есть FormBean
И фрагмент в struts-config:
И еще
И соответственно validator.xml
Самое главное тут это указывать в маппинге validate="true" включить плагин в маппинге и подредактировать валидатор. Это по крайней мере то что мне удалось нарыть в нете. НО и эта схема не пашет. Есть вопросы относительно
Что это и как работает. Может быть из за него косяк. Чувствую файлик свойств там должен быть 2ALL В общем если не трудно, надо разрулить этот вопрос, ибо актуально. Заранее спасибо. |
| Автор: Scarlett 28.9.2007, 14:35 | ||||||||||
| А вообще, ребята, в Struts есть милая вещь, которая упрощает всю валидацию страниц как на стороне клиента, так и на стороне сервера. При этом форма, которая проверяется, должна наследоваться от ValidatorForm и реализовывать интерфейс Serializable. Для валидации используются специальная библиотека. Про это можно прочитать на официальном сайте стратсов http://struts.apache.org/1.x/faqs/validator.html Всего-то нужно подключить библиотеку - в WEB-INF в lib дописать файлы jakarta-regexp_1_2.jar, commons-validator.jar, jakarta-oro.jar Может еще другие понадобятся. В WEB-INF сохранить стандартный файл с правилами проверки валидатора validator-rules.xml В нем есть возможность проверки как на стороне клиента, так и сервера На его основе написать свой файл проверки нужных форм, например, файл validation.xml:
здесь у меня проверка только имени пользователя, правила указываются с помощью регулярных выражений. В конфиге стратсов подключаем нужный плагин- struts-config.xml:
Для отображения ошибок на странице можно воспользоваться кодом на jsp:
значение "errors.***" и "messages.***" хранятся в файле свойств, там же хранятся и значения ошибок (те, котоыре закомментины в файле правил валидации). И последнее - настройка формы на проверку на странице:
А для подключения проверки на стороне клиента, т.е. через java-script, в конце всего-то написать:
и о-ля-ля - все готово. В общем более подробно смотри ссылку, которую я указала выше |