result.getFieldErrors()返回字段名称而不是SPRING MVC中的错误消息

时间:2017-08-07 10:40:03

标签: java spring jsp spring-mvc

我有一个Validator来验证我的Web应用程序中的某些字段。

以下是在某些条件下添加错误消息的代码:

errors.rejectValue("firmDetailFo.firmName", "",
                        "Enter Proper Firm Name");

调试时,BindingResult结果对象会给出以下结果: org.springframework.validation.BeanPropertyBindingResult:3次错误

    Field error in object 'firmFo' on field 'firmDetailFo.firmName': rejected value []; codes [firmFo.firmDetailFo.firmName,firmDetailFo.firmName,firmName,java.lang.String,]; arguments []; default message [Enter Firm Name]
    Field error in object 'firmFo' on field 'firmDetailFo.dateOfFile': rejected value []; codes [firmFo.firmDetailFo.dateOfFile,firmDetailFo.dateOfFile,dateOfFile,java.lang.String,]; arguments []; default message [Select Date Of File]
    Field error in object 'firmFo' on field 'firmDetailFo.dateOfFirmOpening': rejected value []; codes [firmFo.firmDetailFo.dateOfFirmOpening,firmDetailFo.dateOfFirmOpening,dateOfFirmOpening,java.lang.String,]; arguments []; default message [Select Date Of Firm Opening]

result.getFieldErrors()具有以下内容

[Field error in object 'firmFo' on field 'firmDetailFo.firmName': rejected value []; codes [firmFo.firmDetailFo.firmName,firmDetailFo.firmName,firmName,java.lang.String,]; arguments []; default message [Enter Firm Name], Field error in object 'firmFo' on field 'firmDetailFo.dateOfFile': rejected value []; codes [firmFo.firmDetailFo.dateOfFile,firmDetailFo.dateOfFile,dateOfFile,java.lang.String,]; arguments []; default message [Select Date Of File]

我的Jsp代码显示错误:

<p class="error">
            <form:errors path="firmFo.*" cssClass="name2" />

        </p>

Actual Result

Expected Result

任何建议.... ???

1 个答案:

答案 0 :(得分:0)

这里的名字是问题

所以我刚刚在FO中添加了一个重复的对象

 private FirmDetailFo firmDetailFo1;

并用验证器中的副本替换Fo

errors.rejectValue("firmDetailFo1.firmName", "",
                        "Enter Proper Firm Name");

现在它正常工作正如所料:)