Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring验证@AssertTrue_Spring_Spring Mvc_Spring Annotations - Fatal编程技术网

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