我有以下验证代码
@RequestMapping(value = "/itemValidation.json", method = RequestMethod.POST)
    @ResponseBody
    public ValidationResponse ajaxValidation(
            @ModelAttribute(value = formName) @Valid Item item,
            BindingResult result) {
        ValidationResponse res = new ValidationResponse();
        if (!result.hasErrors()) {
            res.setStatus("SUCCESS");
        } else {
            res.setStatus("FAIL");
            List<FieldError> allErrors = result.getFieldErrors();
            List<ErrorMessage> errorMesages = new ArrayList<ErrorMessage>();
            for (FieldError objectError : allErrors) {
                errorMesages.add(new ErrorMessage(objectError.getField(),
                        objectError.getDefaultMessage()));
            }
            res.setErrorMessageList(errorMesages);
        }
        return res;
    }
验证后,有三个元素不满足约束,如下所示:
问题出在 JSP 上,只显示了最后两个错误。fieldName 的错误:itemPK.name未显示。
我使用下面的代码来显示错误:
<span class="help-inline"><form:errors path="${name}" /></span>
我按顺序生成的输入元素:
<input id="itemPK.name_id" name="itemPK.name" type="text" value="">
<input id="price_id" name="price" type="number" value="">
<input id="point_id" name="point" type="number" value="">
不知道出了什么问题,希望任何人都可以对此有所了解。
