Benutzerdefinierte Validierung Nachricht für bean validation

Ich bin erstellen einer JSF-2-Anwendung und ich bin versucht zu verwenden, Formular-Validierung in der Bohne statt der Gesichter-Seite. Ich würde auch gerne eine .properties-Datei, die zum speichern der Nachrichten.

Schaute ich diese Frage aber ich glaube nicht, ich habe die properties Datei richtig eingestellt.

Sagen wir, ich habe ein bean namens " User in einem Paket namens 'dev':

@ManagedBean
@SessionScoped
public class User implements Serializable {

    @Pattern(pattern=".+@.+\\.[a-z]+", message="{dev.User.emailAddress}")
    private String emailAddress;

    //getter/setter
}

Habe ich auch eine Datei erstellt 'ValidationMessages.Eigenschaften in WEB-INF/classes (ich verwende Netbeans 7.0.1)

In der ValidationMessages.properties-Datei habe ich dieses Schlüssel/Wert-Zeile:

dev.User.emailAddress=Custom invalid email message

Und meine Ansicht ("user.xhtml) sieht wie folgt aus:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html">
<h:head>
    <title>User registration</title>
</h:head>
<h:body>
    <h:form>
        <h:inputText id="emailAddress" value="#{user.emailAddress}" required="true" />
        <h:message for="emailAddress" />
        <h:commandButton value="Ok" action="null" />
    </h:form>
</h:body>

Wenn ich geben Sie eine ungültige E-Mail und drücken Sie die Taste, die Validierungs-Nachricht in der web-Seite lautet:

{dev.User.emailAddress}

statt

Custom invalid email message

Könnte das problem sein, dass ich mich nicht registriert habe meine properties-Datei in web.xml?

Sollte ich wechseln required="true" " @NotNull in der bean zu. Gibt es irgendetwas, was ich mehr tun müssen, als einfügen:

<context-param>
    <param-name>javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL</param-name>
    <param-value>true</param-value>
</context-param>

erläutert in BalusC s blog?

Vielen Dank im Voraus!

/Dennis

InformationsquelleAutor Dennis S | 2011-11-08
Schreibe einen Kommentar