Czy istnieje sposób sprawdzenia poprawności tekstu wejściowego jsf, który jest tylko do odczytu, ale wartość jest zmieniany po uruchomieniu niektórych innych zdarzeń?jsf (richfaces) readonly input text validation
Odpowiedz
Rozwiązałem ten problem z obejściem problemu. Dodałem pole inputHidden
który ma atrybut required
true
że nie pojawi się na interfejsie, ale zostaną zatwierdzone:
<h:inputHidden value="#{bean.value}" required="true"
requiredMessage="Data must be entered" />
Wartość bean.value zostanie zmieniony przez innego zdarzenia, a w pewnym reRender w sprawie inputHidden, odbywa się walidacja.
Najprawdopodobniej będziesz musiał ręcznie wywołać logikę walidacji bezpośrednio ze swojego zdarzenia. Oto model cyklu życia JSF od IBM.
Można zauważyć, że proces ten zachodzi faza walidacji przed fazą Wywołanie aplikacji, w której wydarzenia są zazwyczaj obsługiwane. Dzieje się to również po tym, więc sprawdzanie poprawności nie nastąpi automatycznie.
Odpowiadanie na komentarz: "Czy nie byłoby łatwiej sprawdzić poprawność w elemencie wspierającym stronę jsf?" Można wykonać sprawdzanie poprawności na poziomie aplikacji za pomocą kliknięcia przycisku lub podobnego zdarzenia. Możesz zrobić coś takiego w swoim podkładzie i połączyć go ze zdarzeniem.
public String login(){
FacesContext context = FacesContext.getCurrentInstance();
if(**<<some validation for value in field 'firstName' in form 'userForm'>>**){
FacesMessage message = new FacesMessage();
message.setSeverity(FacesMessage.SEVERITY_ERROR);
message.setSummary("Some Valication check");
message.setSummary("Some Valication check!!");
context.addMessage("userForm:firstName", message);//adds validation message for field firstName in form userForm
return "ERROR";
}
return "SUCCESS";
}
Mam nadzieję, że to pomogło.
JSF nie zaktualizuje wartości modelu dla wejścia 'readonly =" true "'. Co więcej, robienie valdacji w metodzie akcji zamiast w normalnym walidatorze jest kiepską praktyką. – BalusC
@BalusC Dziękuję za informacje :) Nie wiedziałem, że ustawienie readonly = "true" dla danych wejściowych nie zaktualizuje wartości modelu. Jeśli chodzi o sprawdzanie poprawności wewnątrz akcji, wiem, że nie jest to najlepsza praktyka, ale myślę, że możemy nie być w stanie dodać normalnego walidatora do wprowadzania tylko do odczytu. – Richie
Ustaw atrybut readonly
na true
tylko podczas fazy odpowiedzi na render. W ten sposób nie będzie on postrzegany jako tylko do odczytu we wszystkich innych fazach niż faza odpowiedzi renderowania.
<h:inputText ... readonly="#{facesContext.currentPhaseId.ordinal eq 6}" />
W moim przypadku '# {facesContext.renderResponse} zwraca wartość false podczas rysowania kodu HTML (gdyby został wydrukowany w środku). W każdym razie działa jako '# {facesContext.currentPhaseId.ordinal eq 6}'. Mojarra 2.1.9. – SJuan76
- 1. JSF, RichFaces, paginacja
- 2. JSF/RichFaces: warunkowa stylizacja tekstu
- 3. AlertDialog Input Text
- 4. asp.net mvc input/model validation multi language
- 5. Validation nie pracuje z INTL-TEL-Input
- 6. Czy istnieją "komentarze po stronie serwera" w JSF/Seam/RichFaces?
- 7. Przekierowanie limitu czasu sesji w JSF-Richfaces-facelet
- 8. RichFaces i Facelets, dobre połączenie?
- 9. Jak dodać atrybut "readonly" do <input>?
- 10. Użyj atrybutu readonly w <input> bez zmiany kursora
- 11. React Bootstrap Validation use validated input w podkomponencie
- 12. atrybutu readonly jQuery problemy
- 13. readonly z jquery
- 14. Niekonsekwetne Model blokowy między <input type = "submit" /> i <input type = "text" />
- 15. Jak style <input type = "text"> w IE6 CSS?
- 16. Google Translate, tekst zastępczy w input type = 'text'
- 17. HTML - Umieść zawartość znacznika SELECT w typie INPUT = "text"
- 18. Czy haml renderowanie <input type = "text" wymagane>
- 19. laravel 5 wielu pól Validation
- 20. ASP.net MVC Validation Hook
- 21. Laravel File Upload Validation
- 22. Jak wywołać funkcję JavaScript w renderowaniu w JSF 1.2/Richfaces 3.3?
- 23. Validation adnotacji i własność plik
- 24. laravel „co najmniej jeden” Pole Wymagane Validation
- 25. jQuery Validation wtyczkę niestandardowego umieszczenia błędu
- 26. Przesyłanie plików za pomocą RichFaces
- 27. Migrowanie JSF 1.1 z Ajax4jsf 1.x do JSF 2
- 28. Jaka jest poprawna składnia atrybutu readonly dla wejściowych elementów tekstowych?
- 29. AVRO Validation
- 30. Jak utworzyć wielolinię tagu <input>?
Czy nie byłoby łatwiej zwalidować to na fasolce back page jsf? – Richie
Jak wyzwalać sprawdzanie poprawności i wyświetlać komunikat sprawdzania poprawności? –
Dodałem odpowiedź jako odpowiedź na komentarz. Pozdrawiam – Richie