首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring validation @AssertTrue

Spring validation @AssertTrue
EN

Stack Overflow用户
提问于 2010-05-18 08:08:24
回答 3查看 20.7K关注 0票数 6

如何在视图上显示由于@AssertTrue注释而出现的jsp验证错误消息?它没有绑定到特定的字段,但我使用它来验证字段的组合。如果我使用<form:errors path="*"/>,它会显示该表单的所有错误吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-05-19 08:45:26

声明一个布尔型属性似乎可以解决这个问题。所以如果有的话:

代码语言:javascript
复制
@AssertTrue
public boolean isConditionTrue() {
   ...
   ...
}

然后声明一个属性,比如:

代码语言:javascript
复制
private boolean conditionTrue;

很管用。

票数 9
EN

Stack Overflow用户

发布于 2013-09-25 22:09:09

根据我所测试的,重要的是你如何命名你的测试函数。你应该给它起个恰当的名字。

您不需要字段、getter或setter,但您的函数必须以'is*‘语句开头。

fe.

代码语言:javascript
复制
@AssertTrue
public boolean isConditionTrue() {
   ...
   ...


}

代码语言:javascript
复制
@AssertTrue
public boolean isSomethingElseOk() {
   ...
   ...
}

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

代码语言:javascript
复制
<form:errors path="someFieldToDisplay" />

但我认为这是很明显的。

我没有涉及到一些模式问题,但可能会有所帮助:

这也可能是有帮助的:lack of error messages

但是如果您使用没有版本标签的schema,那么它默认使用最新的版本。

票数 19
EN

Stack Overflow用户

发布于 2014-01-26 16:45:55

你应该这样命名你的属性:

代码语言:javascript
复制
@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"/>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2853826

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档