Hallo Leute,
ich brauche einen Validator der vier Formulareinträge zugreift, um ermitteln, ob sich diese unterschieden. Es soll zu einer Frage eine richtige und drei alternative Antworten gegeben werden.
Diese Antworten sollen sich natürlich von einander unterscheiden.
Mein Ansatz sieht so aus:
Das Problem ist nur, dass ich diesen Validator vier mal durchlaufe.
Die Methode getSubmittedValue() liefert mir beim...
... ersten Mal alle vier Werte.
... zweiten Mal die drei letzten Werte.
... dritten Mal die letzten zwei Werte.
... beim vierten Mal nur noch den letzten Wert, sprich aa3.
Ansonsten liefert die Methode den Wert null.
Woran liegt das bzw. muss ich einen anderen Ansatz wählen?
ich brauche einen Validator der vier Formulareinträge zugreift, um ermitteln, ob sich diese unterschieden. Es soll zu einer Frage eine richtige und drei alternative Antworten gegeben werden.
Diese Antworten sollen sich natürlich von einander unterscheiden.
Mein Ansatz sieht so aus:
Java:
@Override
public void validate(FacesContext context, UIComponent currentComponent, Object value)
throws ValidatorException {
if(value == null | value == "")
return;
UIViewRoot view = FacesContext.getCurrentInstance().getViewRoot();
HtmlInputText answerComponent = (HtmlInputText) view.findComponent("myForm:answer");
HtmlInputText aa1Component = (HtmlInputText) view.findComponent("myForm:aa1");
HtmlInputText aa2Component = (HtmlInputText) view.findComponent("myForm:aa2");
HtmlInputText aa3Component = (HtmlInputText) view.findComponent("myForm:aa3");
String answer = (String)answerComponent.getSubmittedValue();
String aa1 = (String)aa1Component.getSubmittedValue();
String aa2 = (String)aa2Component.getSubmittedValue();
String aa3 = (String)aa3Component.getSubmittedValue();
if(currentComponent == answerComponent) {
// validate answer
}
else if(currentComponent == aa1Component) {
// validate alternativeAnswer1
}
...
}
Das Problem ist nur, dass ich diesen Validator vier mal durchlaufe.
Die Methode getSubmittedValue() liefert mir beim...
... ersten Mal alle vier Werte.
... zweiten Mal die drei letzten Werte.
... dritten Mal die letzten zwei Werte.
... beim vierten Mal nur noch den letzten Wert, sprich aa3.
Ansonsten liefert die Methode den Wert null.
Woran liegt das bzw. muss ich einen anderen Ansatz wählen?