Spring验证@AssertTrue
如何在视图上显示由Spring验证@AssertTrue,spring,spring-mvc,spring-annotations,Spring,Spring Mvc,Spring Annotations,如何在视图上显示由@AssertTrue注释导致的jsp验证错误消息?它没有绑定到特定字段,但我使用它来验证字段的组合。如果我使用来显示该表单的所有错误?声明一个布尔属性似乎可以解决这个问题。因此,如果有: @AssertTrue public boolean isConditionTrue() { ... ... } 然后声明一个属性,如: private boolean conditionTrue; 有效。从我测试的内容来看,如何命名测试函数非常重要。你应该正确地命名它 您不
@AssertTrue
注释导致的jsp验证错误消息?它没有绑定到特定字段,但我使用它来验证字段的组合。如果我使用
来显示该表单的所有错误?声明一个布尔属性似乎可以解决这个问题。因此,如果有:
@AssertTrue
public boolean isConditionTrue() {
...
...
}
然后声明一个属性,如:
private boolean conditionTrue;
有效。从我测试的内容来看,如何命名测试函数非常重要。你应该正确地命名它 您不需要字段、getter或setter,但函数必须以“is*”语句开头。 fe 或
但是,如果需要使用带有路径的错误表单,则需要一个字段和getter/setter,如:
<form:errors path="someFieldToDisplay" />
但我认为这是很明显的
我没有遇到一些架构问题,但可能会有所帮助: 这也可能有帮助:
但是,如果使用不带版本标记的架构,则默认情况下它使用最新版本。您应该这样命名您的属性:
@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"/>
@AssertTrue(message=“…”)
私有布尔条件为true//***不是真的***
公共布尔值isConditionTrue(){
返回条件true;
}
公共void setConditionTrue(布尔conditionTrue){
this.conditionTrue=conditionTrue;
}
或
将方法从valid()重命名为isValid(),使用Hibernate验证在Spring中为我修复了它。重命名为*也为我修复了它。谢谢你的回答。这应该被接受为正确答案,这确实应该是被接受的答案。我不知道必要的命名约定这太疯狂了。谢谢。什么时候信息会显示出来?
<form:errors path="someFieldToDisplay" />
@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"/>