【发布时间】:2010-05-18 00:08:24
【问题描述】:
如何在视图上显示由于@AssertTrue 注释而出现的 jsp 验证错误消息?它与特定字段无关,但我使用它来验证字段组合。如果我使用<form:errors path="*"/> 会显示该表单的所有错误?
【问题讨论】:
标签: spring spring-mvc spring-annotations
如何在视图上显示由于@AssertTrue 注释而出现的 jsp 验证错误消息?它与特定字段无关,但我使用它来验证字段组合。如果我使用<form:errors path="*"/> 会显示该表单的所有错误?
【问题讨论】:
标签: spring spring-mvc spring-annotations
从我的测试来看,如何你命名你的测试函数很重要。你应该正确命名它。
您不需要字段、getter 或 setter,但您的函数必须以 'is*' 语句开头。
fe.
@AssertTrue
public boolean isConditionTrue() {
...
...
}
或
@AssertTrue
public boolean isSomethingElseOk() {
...
...
}
不过,如果您需要使用带路径的错误表单,则需要一个字段和 getter/setter,例如:
<form:errors path="someFieldToDisplay" />
但我认为这很明显。
这也可能会有所帮助: lack of error messages.
但是如果你使用没有版本标签的架构,它默认使用最新版本。
【讨论】:
声明一个布尔属性似乎对此有用。所以如果有:
@AssertTrue
public boolean isConditionTrue() {
...
...
}
然后声明如下属性:
private boolean conditionTrue;
有效。
【讨论】:
你应该这样命名你的属性:
@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"/>
【讨论】: