【问题标题】:Spring MVC bean validation issueSpring MVC bean验证问题
【发布时间】:2015-01-06 12:07:32
【问题描述】:

我有 2 个 bean,如下所示。学生 bean 验证很好。但是内部 bean Address 验证根本没有效果。虽然Address.pincode没有验证,但验证消息为studentAddress.pincode Value must be an integer
为什么会这样?好吧,我是春天的新手,请详细解释。提前致谢!

public class Student {

@Size(min=2, max=30)
private String studentName;

@Size(min=3, max=30)
private String studentHobby;
@NotNull
private int studentMobile;

@Past
private Date studentDOB;
private ArrayList<String> studentSkills;

private Address studentAddress;
}

public class Address {

@Size(min=4, max=50)
private String country;

@Size(min=4, max=50)
private String city;

private String street;
private int pincode;
}

【问题讨论】:

  • 异常发生时浏览器中pincode的值是多少?
  • 这甚至不是验证消息,而是之前发生的数据绑定消息。请求参数studentAddress.pincode 的值必须是一个整数值,不是空的,不是 abc,而是 1。如果它可以为 null,则将其设为 Integer,而不是原始的 int

标签: java spring validation spring-mvc


【解决方案1】:

如果您使用的是 Hibernate Validator 4.0.0+,您可以像这样进行“级联验证”:

@Valid
private Address studentAddress;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-19
    • 2012-09-15
    • 2015-10-13
    • 1970-01-01
    • 2013-04-14
    • 2013-09-10
    • 2020-05-08
    相关资源
    最近更新 更多