# Richfaces + AjaxValidator



## NuernbergerBub (12. Nov 2009)

Hallo zusammen,

ich habe ein Problem mit dem Ajax-Validator: 
Sobald ich meine Form anzeige, kommt bei den Feld Nachname der "passedMarker" obwohl das Feld null ist! Ändere ich den Inhalt im Feld ab, funzt der Validator richtig. Nur nicht beim erstmaligen Anzeigen der Form. 

Wie kann ich das einstellen, da er gleich am Anfang die Form prüft.

Danke schonmal für eure Hilfe.


```
<h:inputText value="#{Kunde.kundendaten.nachname}" id="nachname">
        <rich:ajaxValidator event="onblur"  />
</h:inputText>
<rich:message for="nachname" ajaxRendered="true" rendered="true">
	<f:facet name="errorMarker">
          	<h:graphicImage alt="Fehler" value="images/Forbidden_Red_24.png" width="24" height="24"/>
        </f:facet>
	<f:facet name="passedMarker">
		<h:graphicImage alt="Fehler" value="images/Ok_Green_24.png" width="24" height="24"/>
	</f:facet>    
</rich:message>
```

BEAN:

```
@NotEmpty (message="Pflichtfeld")
@Length(min=2, message="Name wird benötigt")
private String nachname;
```


----------



## MrWhite (12. Nov 2009)

Was nen Versucht wert wäre: Vielleicht noch einen ajaxValidator auf den onload Event setzen?


----------



## NuernbergerBub (12. Nov 2009)

So funktioniert das leider auch nicht! :-( Weiß noch jemand Rat?


```
<h:inputText value="#{Kunde.kundendaten.nachname}" id="nachname">
                   <rich:ajaxValidator event="onload"  />
                    <rich:ajaxValidator event="onblur"  />
                </h:inputText>
```


----------



## Deadalus (17. Nov 2009)

Versuchs mal mit 

<h:inputText value="#{Kunde.kundendaten.nachname}" id="nachname" *required="true"*>

mit dem Attribut requiredText="Pflichteingabe" kannst du noch eine Fehlermeldung schreiben.

Tipp am Rande:

Benutz anstatt 
*<rich:ajaxValidator event="onblur"  />*
lieber
*<rich:ajaxValidator event="onkeyup"  ignoreDupResponses="true"/> *

Dadurch prüfst du direkt während des Eintippens. Durch ignoreDupResponses="true" wird dafür gesorgt, dass wenn jemand schnell tippt erst nach dem Tippen geprüft wird anstatt nach jedem Tastenanschlag.


----------

