使用 Spring 验证器验证嵌套对象列表? [英] Validate a list of nested objects with Spring validator?

查看:47
本文介绍了使用 Spring 验证器验证嵌套对象列表?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想知道如何在 Spring MVC 应用程序中使用 Spring Validator(不是注释)验证表单中的嵌套对象列表.

I want to know how to validate a list of nested objects in my form with Spring Validator (not annotation) in Spring MVC application.

class MyForm() {
    String myName;
    List<TypeA> listObjects;
}
class TypeA() {
    String number;
    String value;
}

如何创建 MyFormValidator 来验证 listObjects 并为 TypeA 的数量和值添加错误消息.

How can I create a MyFormValidator to validate the listObjects and add error message for number and value of TypeA.

推荐答案

public class MyFormValidator implements Validator {

    @Override
    public boolean supports(Class clazz) {
        return MyForm.class.equals(clazz);
    }

    @Override
    public void validate(Object target, Errors errors) {
        MyForm myForm = (MyForm) target;

        for (int i = 0; i < myForm.getListObjects().size(); i++) {
            TypeA typeA = myForm.getListObjects().get(i);

            if(typeAHasAnErrorOnNumber) {
                errors.rejectValue("listObjects[" + i + "].number", "your_error_code");
            }

            ...
        }

        ...
    }

}

有趣的链接:

这篇关于使用 Spring 验证器验证嵌套对象列表?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆