2011-08-08 10 views

Odpowiedz

37

Musisz użyć metody DropDownChoice.setNullValid(). Z javadoc:

określa, czy wartość zerowa powinny być zawarte w liście wyboru, jeśli wartość modelu dziedzinie jest niepustych i czy nie null_valid właściwości String (np „Wybierz jeden”) powinna być wyświetlane do momentu wybrania wartości nie-pustej. Jeśli ustawione na false, wówczas gdy wartość jest zerowa, wyświetli się "Choose One". Po wybraniu wartości i ta zmiana jest propagowana do modelu bazowego, użytkownik nie będzie już widział opcji "Wybierz jeden" i nie będzie możliwości ponownego wybrania wartości null jako wartości. Jeśli zostanie ustawiona wartość true, właściwość łańcuchowa pusta (domyślnie pusty ciąg) będzie zawsze wyświetlana jako opcja, niezależnie od tego, czy wybrano wartość inną niż null. Pamiętaj, że to ustawienie nie ma wpływu na sprawdzanie poprawności; w celu zagwarantowania, że ​​wartość zostanie określona podczas sprawdzania formularza, FormComponent.setRequired (boolean). Dzieje się tak, ponieważ nawet jeśli setNullValid() jest wywoływana z wartością false, użytkownik może nie dostarczyć wartości po prostu przez to, że nigdy nie aktywuje (to znaczy nie klika) komponentu.

Jeśli chcesz zachować "Wybierz One" tekst z NullValid = true można wykorzystać linię podobną do następującej jeden w pliku Application.properties:

nullValid=[Choose one] 
+0

Nice, wydaje się, że ta metoda zwróciła moją uwagę. Dzięki ! – Sephy

+6

+1 Nie musi to być jednak właściwość aplikacji, tak naprawdę zwykle są to właściwości strony, np. "Wybierz coś". Możesz też poprzedzić go identyfikatorem komponentu, aby zdefiniować określone komunikaty dla różnych komponentów na tej samej stronie. – biziclop

4

W .java:

DropDownChoice<Boolean> myDropDown = new DropDownChoice<>(
    "myDropDownWicketId", model, Arrays.asList(true, false), renderer); 
myDropDown.setNullValid(true); 

W pliku .properties związane z klasy java Dodaj:

myDropDownWicketId.nullValid=Choose One 
myDropDownWicketId.true=Yes 
myDropDownWicketId.false=No 
Powiązane problemy