JSF Hardcore Thema

Gaup2k

Grünschnabel
Habe ein Riesenproblem bei der Validierung von Feldern mit dem JSF Framework. Die Validierung soll "Live" sein und mit eigenen Validatoren durchgeführt werden. Leere Eingaben (durch Backshift provoziert) sollen das Feld rot hervorheben. Prinzipiell funktioniert es auch. Es gibt nur eine Ausnahme. Wenn ich mit Tab in das nächste Feld tabuliere, wird das keyup-event ausgelöst. Beim "eintabben" soll mein Feld aber nicht validiert werden.

Ich suche ganz krampfhaft eine Variante um event.keycode==9 an den Server durchzuschleussen und eine Ausnahme bei der Validierung anzuregen.

Leider steckt in dem UIComponent component Objekt kein keycode drinne.
Auch der Einsatz eines f:ajax listeners und der Umgang mit dem Objekt AjaxBehavoir Element hat mir keinen keycode geliefert.

Template:
<h:inputText id="lastname" value="#{bean.lastname}" validator="#bean.validateLastname}">
<f:ajax event="keyup" render="blubb_a"/>
<f:ajax event="valueChange" render="blubb_b"
</h:inputText>

Server:
public void validateFirstname(FacesContext context, UIComponent component, Object value) {
// some code
}

Hat jmd. für mein Abstract beschriebenes Problem eine Idee oder eine Lösung?
 
Zurück