相关疑难解决方法(0)

Spring Validation 自定义消息 - 字段名称

问题:如何在 Spring 中获取验证消息中的字段名称

有没有一种方法可以访问 ValidationMessages.properties 文件中的字段名称,例如下面我尝试使用 {0} 但它不起作用,我在某处见过它。我希望 Spring 动态地将字段名称放在那里,这样我就不必为每个类重复它。

public class RegistrationForm {

    @NotEmpty(message = "{NotEmpty}")
    private String email;


    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
}
Run Code Online (Sandbox Code Playgroud)

ValidationMessages.properties

NotEmpty={0} TEST
Run Code Online (Sandbox Code Playgroud)

validation spring hibernate spring-mvc

6
推荐指数
2
解决办法
1万
查看次数

spring 3.0 MVC似乎忽略了messages.properties

Spring 3.0 MVC

首先,我没有找到任何关于messages.properties @ springsource的文档. 我发现有关覆盖错误消息的所有内容都在各种论坛上.如果有人提到了messages.properties的记录,那就太棒了.也许messages.properties不是来自spring而是java规范?

我已经尝试遵循关于绑定之前的JSR-303类型检查的建议 我的目标是用我自己的用户友好错误消息替换一些类型不匹配错误消息

我的情况如下:

模型

public class Test {

    private int numberbomb;

    public int getNumberbomb() {
        return numberbomb;
    }

    public void setNumberbomb(int numberbomb) {
        this.numberbomb = numberbomb;
    }
}
Run Code Online (Sandbox Code Playgroud)

myservlet.xml

<mvc:annotation-driven/>
Run Code Online (Sandbox Code Playgroud)

JSP

<form:form id="test" method="post" modelAttribute="test">

<form:errors path="*"/>

<form:label path="numberbomb">numberbomb</form:label>
<form:input path="numberbomb"/>

</form:form>
Run Code Online (Sandbox Code Playgroud)

类\ messages.properties

typeMismatch=bad value you bad bad person
test.numberbomb=you are driving me crazy with these bad inputs
Run Code Online (Sandbox Code Playgroud)

表格输出

无法将类型为java.lang.String的属性值转换为属性numberbomb所需的int类型; 嵌套异常是org.springframework.core.convert.ConversionFailedException:无法将类型java.lang.String中的值"three"转换为int类型; 嵌套异常是java.lang.NumberFormatException:对于输入字符串:"three"

我的控制器中的BindingResult.toString()

字段'numberbomb'上对象'test'中的字段错误:被拒绝的值[3]; 码[typeMismatch.test.numberbomb,typeMismatch.numberbomb,typeMismatch.int,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable:codes [test.numberbomb,numberbomb]; 参数[]; …

forms model-view-controller spring-3

5
推荐指数
1
解决办法
5941
查看次数

如何给出特定输入字段唯一的类型不匹配错误消息?

我使用的是Spring 2.5框架,我需要将Double值作为输入.当我想验证Double值与类型不匹配错误.所以我添加,typeMismatch.java.lang.Double =一般错误消息.

假设,我的命令类是SearchInfo.java,其Double类型属性为"amount".我想在amount字段中添加特定的错误消息.

spring spring-mvc

3
推荐指数
1
解决办法
5284
查看次数