G
Gast
Gast
Hallo,
Folgendes Problem:
Die Fehlernachricht wird nicht korrekt angezeigt
Anmerkung:
Debug zeigt das "validateUserName" aufgerufen wird. Bei "Test" wird auch NICHT auf die naechste Seite gegangen.
Wenn das Tag <h:messages> drin ist sieht man das dort eine "leere Zeile" angezeigt wird!
Also was ist an dem Zusammenbau der Nachricht falsch oder an den Message Tags etc.
2. Problem:
Wenn required =false ist, wird bei JSF bei einem "Null" Value KEINE Validierung durchgefuerht. Kann man irgendwo einstellen, dass auch dann validiert wird ? Waere fuer mich sehr sehr wichtig !!!
Anmerkung:
Wenn Ihr keinen Fehler entdecken teilt mir das bitte auch mit, dann schau ich mir mal die anderen Technologien an...
Danke im vorraus fuer eure Muehe...
Verwendete Technik:
JSF 1.2 + Spring + Spring Web Flow
Der Code
JSP:
Die Variable User:
Folgendes Problem:
Die Fehlernachricht wird nicht korrekt angezeigt
Anmerkung:
Debug zeigt das "validateUserName" aufgerufen wird. Bei "Test" wird auch NICHT auf die naechste Seite gegangen.
Wenn das Tag <h:messages> drin ist sieht man das dort eine "leere Zeile" angezeigt wird!
Also was ist an dem Zusammenbau der Nachricht falsch oder an den Message Tags etc.
2. Problem:
Wenn required =false ist, wird bei JSF bei einem "Null" Value KEINE Validierung durchgefuerht. Kann man irgendwo einstellen, dass auch dann validiert wird ? Waere fuer mich sehr sehr wichtig !!!
Anmerkung:
Wenn Ihr keinen Fehler entdecken teilt mir das bitte auch mit, dann schau ich mir mal die anderen Technologien an...
Danke im vorraus fuer eure Muehe...
Verwendete Technik:
JSF 1.2 + Spring + Spring Web Flow
Der Code
JSP:
Code:
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<html>
<head>
<title>Benutzerverwaltung</title>
</head>
<body>
<f:view>
<h:form id="inputForm">
<h:messages layout="table" showDetail="true" style="color: red;" />
<h:outputText value="UserName:"/><h:message for="userName"/><h:inputText id="userName" value="#{user.userName}" validator="#{user.validateUserName}"/>
<h:commandButton action="commit" value="OK"/>
</h:form>
</f:view>
</body>
</html>
Die Variable User:
Code:
import javax.faces.context.FacesContext;
import javax.faces.component.UIComponent;
import javax.faces.validator.ValidatorException;
import javax.faces.application.FacesMessage;
public class UserViewImpl implements UserView {
private Long _identifier;
private String _userName;
public UserViewImpl() {
this(null, "");
}
public UserViewImpl(Long identifier, String userName) {
_identifier = identifier;
_userName = userName;
}
public Long getIdentifier() {
return _identifier;
}
public String getUserName() {
return _userName;
}
public void setUserName(String userName) {
_userName = userName;
}
public void validateUserName(FacesContext facesContext, UIComponent componentToValidate, Object valueObject) {
String value = (String) valueObject;
if (value.equals("Test")) {
FacesMessage facesMessage = new FacesMessage("Fehler bei userName");
throw new ValidatorException(facesMessage);
}
}
}