Hallo alle zusammen,
folgendes Problem stellt sich mir bei einer Tabelle mit Eingabefeldern, von denen die meisten "Pflichtfelder" sind, eins jedoch noch, siehe Code-Auszug:
Das Feld "title" soll kein Pflichteingabefeld sein, wenn es leer bleibt, soll dass die "angeschlossene" Bean (siehe folgender Code-Auszug) hinnehmen.
Die quittiert das allerdings mit einem:
sobald ich das Feld leerlasse. Fehlt mir da noch eine entsprechende Annotation, und falls ja, welche?
Freu mich über jeden Tipp
Gruß Thomas
folgendes Problem stellt sich mir bei einer Tabelle mit Eingabefeldern, von denen die meisten "Pflichtfelder" sind, eins jedoch noch, siehe Code-Auszug:
HTML:
<ui:define name="body">
<h:form>
<h:panelGrid columns="2" border="1">
<f:facet name="header">
<h:outputText value="Registrierung" />
</f:facet>
<h:outputText value="Login-Name" rendered="#{register.renderUsername()}"/>
<h:inputText id="loginname" value="#{data.username_first}" rendered="#{register.renderUsername()}" required="true" styleClass="eingabefeld">
<h:message for="loginname" errorClass="errorMessage"/>
</h:inputText>
<h:outputText value="Titel" />
<h:inputText value="#{data.title}" styleClass="eingabefeld"/>
<h:outputText value="Nachname" />
<h:inputText id="surname" value="#{data.surname}" required="true" errorClass="errorMessage" styleClass="eingabefeld">
<h:message for="surname" errorClass="errorMessage"/>
</h:inputText>
Das Feld "title" soll kein Pflichteingabefeld sein, wenn es leer bleibt, soll dass die "angeschlossene" Bean (siehe folgender Code-Auszug) hinnehmen.
Java:
@Name("data")
@Scope(ScopeType.CONVERSATION)
public class DataTable implements Serializable {
/**
*
*/
private static final long serialVersionUID = -3474681428750868166L;
private String title;
private String surname;
private String givenname;
private String depart;
private String mail;
private String username;
private String username_stud;
private String username_first;
private String passwd;
private String tmpGivenname;
private String tmpSurname;
private String tmpUsername;
boolean editGivenname = false;
boolean editSurname = false;
boolean editUsername = false;
public String getTitle() {
return title;
}
public void setTitle(String title1) {
if ((title1.length() > 0) || (title1 != null))
title1 = UpperCases.names(title1);
this.title = title1;
}
public String getSurname() {
return surname;
}
public void setSurname(String surname) {
if (this.tmpSurname != null) {
if(!(this.tmpSurname.equalsIgnoreCase(surname)) || (this.surname == null)) {
this.editSurname = true;
} else {
this.editSurname = false;
}
}
this.tmpSurname = surname;
surname = UpperCases.names(surname);
this.surname = surname;
}
public String getGivenname() {
return givenname;
}
public void setGivenname(String givenname) {
if(this.tmpGivenname != null) {
if(!(this.tmpGivenname.equalsIgnoreCase(givenname))) {
this.editGivenname = true;
} else {
this.editGivenname = false;
}
}
this.tmpGivenname = givenname;
givenname = UpperCases.names(givenname);
this.givenname = givenname;
Die quittiert das allerdings mit einem:
Code:
Error writing 'title' on type org.thommys.regusers.entity.DataTable
sobald ich das Feld leerlasse. Fehlt mir da noch eine entsprechende Annotation, und falls ja, welche?
Freu mich über jeden Tipp
Gruß Thomas