Wunderschönen Guten Tag!
Bin leider schon wieder am verzweifeln und weiß mir nicht anders zu helfen als nochmal hier um Hilfe zu bitten.
Ich habe ein InputText-Element vom Typ Integer, dass mir beim Laden des Eingabe-Formulars das entsprechende Eingabefeld mit einer 0 vorbelegt. Dies ist aber von mir nicht erwünscht und würde das gerne unterbinden. Nur weiß ich einfach nicht wie...
Vielleicht noch ein wenig Code:
Wenn ich nun die Seite bzw. das Formular welches das inputText-Element enthält lade, dann erhalte ich folgendes Bild:
Also ein Eingabefeld, das mit einer 0 vorbelegt ist. Ich weiß natürlich, dass wenn in Java eine Integer-Variable deklariert wird, diese default-mäßig mit 0 initialisiert wird. Kann ich ja auch schlecht verhindern... und genau dieser Wert wird mir dann beim Laden des Formulars auch angezeigt. Wie kann ich das verhindern?
Vielen lieben Dank für jede Hilfestellung.
Bin leider schon wieder am verzweifeln und weiß mir nicht anders zu helfen als nochmal hier um Hilfe zu bitten.
Ich habe ein InputText-Element vom Typ Integer, dass mir beim Laden des Eingabe-Formulars das entsprechende Eingabefeld mit einer 0 vorbelegt. Dies ist aber von mir nicht erwünscht und würde das gerne unterbinden. Nur weiß ich einfach nicht wie...
Vielleicht noch ein wenig Code:
HTML:
<h:inputText id="field" value="#{customerBean.field}" converter="javax.faces.Integer" validator="#{validatorBean.validateField}" />
Code:
@ManagedBean(name = "customerBean")
public class Customer
{
private int field;
public int getfield()
{
return field;
}
public void setfield(int field)
{
this.field = field;
}
}
Code:
@ManagedBean(name = "validatorBean")
public class Validator
{
public void validateField(FacesContext ctx, UIComponent comp, Object inValue) throws ValidatorException
{
int value = (Integer) inValue;
if (!(value >= 0 && value <= 100) && !(value == -9))
{
throw new ValidatorException(new FacesMessage("Illegal entry! Legal values are: '0' to '400', '-9'.", null));
}
}
}
Wenn ich nun die Seite bzw. das Formular welches das inputText-Element enthält lade, dann erhalte ich folgendes Bild:
Also ein Eingabefeld, das mit einer 0 vorbelegt ist. Ich weiß natürlich, dass wenn in Java eine Integer-Variable deklariert wird, diese default-mäßig mit 0 initialisiert wird. Kann ich ja auch schlecht verhindern... und genau dieser Wert wird mir dann beim Laden des Formulars auch angezeigt. Wie kann ich das verhindern?
Vielen lieben Dank für jede Hilfestellung.