7

如何在视图上显示由于@AssertTrue注释而发生的 jsp 验证错误消息?它与特定字段无关,但我使用它来验证字段组合。如果我使用<form:errors path="*"/>它将显示该表单的所有错误?

4

3 回答 3

21

从我测试的结果来看,如何命名测试函数很重要。你应该正确命名它。

您不需要字段、getter 或 setter,但您的函数必须以“is*”语句开头。

费。

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


}

或者

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

但是,如果您需要使用带有路径的错误表单,则需要一个字段和 getter/setter,例如:

<form:errors path="someFieldToDisplay" />

但我认为这很明显。


一些我没有涉及但可能有帮助的架构问题:

这也可能有帮助: 缺少错误消息

但是如果你使用没有版本标签的模式,它默认使用最新版本。

于 2013-09-25T14:09:09.490 回答
9

声明一个布尔属性似乎对此有用。所以如果有:

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

然后声明一个属性,如:

private boolean conditionTrue;

作品。

于 2010-05-19T00:45:25.957 回答
1

你应该这样命名你的财产:

@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"/>
于 2014-01-26T08:45:55.150 回答