Компонентът JSF2 запазва старата невалидна стойност

Имаме четири/пет полета (едно поле е поле за избор - ajax), прикрепени с валидатори (персонализирани валидатори). Имаме бутон за изчистване във формуляра.
Когато изберем стойността от полето за избор и формулярът бъде изпратен, в случай на грешки при валидиране, ние показваме грешки при валидиране. Когато натиснете изчистване, изобразяваме div с ajax извикване и всички полета са изчистени и грешките при валидирането също са изчистени. Но....ако изберем стойността от полето за избор, която е избрана първо, тогава тя запазва старите невалидни въведени данни в полетата на формуляра.

Някакви улики, защо е запазил старите стойности, има ли някакъв начин да го изчистя?


person user684434    schedule 24.02.2012    source източник
comment
Това ваш колега ли е? stackoverflow.com/ въпроси/9425447/   -  person BalusC    schedule 24.02.2012


Отговори (1)


Въпреки това, без да публикувате своя XML, е трудно да разберете какво се случва. Имах подобен проблем: тъй като стойностите не бяха изчистени от backing bean, а само от страницата, поставяте отметка в квадратчето, то връща стойностите обратно към страницата.

Можете да изчистите стойностите от bean bean-а или просто да зададете само част от формуляра да се изобразява на вашия f:ajax, а не целия формуляр.

person Jonathan S. Fisher    schedule 24.02.2012
comment
Изобразявам целия DIV, в слушателя, ако просто изчистя backing bean-а, той не изчиства стойностите, трябва да UIComponent.resetValue()....това ли е единственият начин.. - person user684434; 24.02.2012