Frage

Wie zeige ich auf eine Validierungsfehlermeldung jsp Ansicht, dass als Folge der @AssertTrue Anmerkung auftritt? Es ist nicht auf ein bestimmtes Feld gebunden, aber ich bin mit ihm eine Kombination von Feldern zu validieren. Wenn ich <form:errors path="*"/> verwenden, die für diese Form alle Fehler werden angezeigt?

War es hilfreich?

Lösung 2

Eine boolesche Eigenschaft Deklarieren ist, was für diese zu arbeiten scheint. Wenn es also:

@AssertTrue
public boolean isConditionTrue() {
   ...
   ...
}

dann eine Eigenschaft wie erklärt:

private boolean conditionTrue;

funktioniert.

Andere Tipps

Von dem, was ich getestet habe es wichtig ist, Wie Sie Ihre Testfunktion nennen. Und Sie sollten es richtig benennen.

Sie brauchen nicht Feld, Getter oder Setter aber Ihre Funktion muss beginnen mit 'ist *' Aussage.

fe.

@AssertTrue
public boolean isConditionTrue() {
   ...
   ...


}

oder

@AssertTrue
public boolean isSomethingElseOk() {
   ...
   ...
}

Obwohl, müssen Sie ein Feld und Getter / Setter, wenn Sie benötigen einen Fehler Form mit Pfad zu verwenden, wie:

<form:errors path="someFieldToDisplay" />

Aber ich denke, das ist ganz offensichtlich.


Einige Schema Problem, das ich in nicht Schritt tat, aber könnte hilfreich sein:

Dies könnte hilfreich sein, auch: fehlt der Fehlermeldungen .

Aber wenn Sie Schema ohne Versions-Tag verwenden, verwendet es die neueste Version standardmäßig aktiviert.

Sie sollten Ihre Eigenschaftsnamen wie folgt aus:

@AssertTrue(message = "....")
private boolean conditionTrue; //***NOT isConditionTrue***

public boolean isConditionTrue() {
    return conditionTrue;
}

public void setConditionTrue(boolean conditionTrue) {
    this.conditionTrue= conditionTrue;
}

<form:errors path="*"/> or
<form:errors path="conditionTrue"/>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top