Spring验证@AssertTrue

Eqb*_*bal 5 spring spring-mvc spring-annotations

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

Ata*_*ais 17

根据我测试的内容,如何命名测试功能非常重要.你应该正确地命名.

你不需要field,getter或setter,但是你的函数必须以'is*'语句开头.

FE.

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


}
Run Code Online (Sandbox Code Playgroud)

要么

@AssertTrue
public boolean isSomethingElseOk() {
   ...
   ...
}
Run Code Online (Sandbox Code Playgroud)

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

<form:errors path="someFieldToDisplay" />
Run Code Online (Sandbox Code Playgroud)

但我认为这很明显.


一些架构问题,我没有介入,但可能会有所帮助:

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

但是如果您使用没有版本标记的模式,它默认使用最新版本.


Eqb*_*bal 7

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

@AssertTrue
public boolean isConditionTrue() {
   ...
   ...
}
Run Code Online (Sandbox Code Playgroud)

然后宣布一个属性,如:

private boolean conditionTrue;
Run Code Online (Sandbox Code Playgroud)

作品.