如何在@AssertTrue
注释的结果上显示视图jsp验证错误消息?它不依赖于特定字段,但我使用它来验证字段组合。如果我使用<form:errors path="*"/>
来显示该表单的所有错误?
答案 0 :(得分:14)
根据我测试的内容,重要的是如何为测试功能命名。你应该正确地命名。
您不需要字段,getter或setter,但您的函数必须以'is *'语句开头。
FE。
@AssertTrue
public boolean isConditionTrue() {
...
...
}
或
@AssertTrue
public boolean isSomethingElseOk() {
...
...
}
但是,如果您需要使用带路径的错误表单,则需要字段和getter / setter,例如:
<form:errors path="someFieldToDisplay" />
但我认为这很明显。
这也可能有用: lack of error messages
但是如果你使用没有版本标签的架构,它默认使用最新版本。
答案 1 :(得分:6)
声明一个布尔属性似乎对此有用。所以,如果有:
@AssertTrue
public boolean isConditionTrue() {
...
...
}
然后声明一个属性:
private boolean conditionTrue;
作品。
答案 2 :(得分: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"/>