JSF падащи менюта - Приложете не-defautl стойност за валидиране

Имаме JSF падащи менюта, които използват стойност по подразбиране „Изберете едно..“, но не искаме нашият JSF валидатор да приема това като приемлива стойност при запазване.

така че отвъд/или на мястото на Required="true", има ли някакъв начин да направите това?

примерни стойности:

"select one.."
"cat"
"dog"

Само "котка" или "куче" трябва да преминат проверката.


person Eddie    schedule 01.11.2010    source източник
comment
Защо не искате да използвате required="true"? Това всъщност е единственото валидно решение. Ако всъщност това е съобщението по подразбиране, което ви притеснява, тогава може би е добре да знаете, че има начини да го персонализирате.   -  person BalusC    schedule 01.11.2010
comment
Хей Балус. Използваме required =true и проблемът е, че не получаваме съобщение, когато потребителите запазят стойност на select one. Опитваме се да разширим това с допълнително условие, което казва, че тази стойност на XX не е приемлива. Какво ще стане, ако задам стойността (не се показва) на празен низ, това ще провали ли изискваната проверка?   -  person Eddie    schedule 01.11.2010


Отговори (1)


Изглежда сте задали „Изберете едно...“ като и етикет и стойност. За да задейства валидатора на изискванията, стойността трябва да бъде null. Трябва да зададете „Изберете един...“ като етикет и null като стойност.

Така че в оглед:

<f:selectItem itemValue="null" itemLabel="Select one..." />

или в модел:

new SelectItem(null, "Select one...");
person BalusC    schedule 01.11.2010
comment
перфектен Така че според моя коментар по-рано, трябва да е нулев и да не се провали валидирането? Изглежда, че празен низ трябва да бъде също толкова разумно да се провали, колкото и нулев низ. - person Eddie; 01.11.2010
comment
yEP, низ от за стойността също няма да премине валидирането. страхотно - person Eddie; 01.11.2010