Весенняя проверка @AssertTrue - PullRequest
5 голосов
/ 18 мая 2010

Как отобразить в сообщении об ошибке проверки JSP-представления, которое появляется в результате аннотации @AssertTrue? Он не привязан к конкретному полю, но я использую его для проверки комбинации полей. Если я использую <form:errors path="*"/>, что будет отображать все ошибки для этой формы?

Ответы [ 3 ]

15 голосов
/ 25 сентября 2013

Из того, что я тестировал, важно КАК вы называете свою функцию тестирования. И вы должны правильно назвать это.

Вам не нужны поля, методы получения или установки, но ваша функция ДОЛЖНА начинаться с оператора 'is *'.

Fe.

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


}

или

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

Тем не менее, вам нужно поле и метод получения / установки, если вам нужно использовать форму ошибки с путем, например:

<form:errors path="someFieldToDisplay" />

Но я думаю, что это совершенно очевидно.


Некоторая проблема со схемой, с которой я не столкнулся, но мог бы помочь:

Это также может быть полезно: отсутствие сообщений об ошибках .

Но если вы используете схему без тега версии, она по умолчанию использует самую новую версию.

6 голосов
/ 19 мая 2010

Объявление логического свойства - вот что, по-видимому, работает для этого. Так что если есть:

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

затем объявить свойство как:

private boolean conditionTrue;

работает.

1 голос
/ 26 января 2014

Вы должны назвать свою собственность так:

@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"/>
...