我已阅读本指南:http://spring.io/guides/gs/validating-form-input/
我看到弹簧验证表单的方法是注释 具有验证约束的对象的属性(可以是POJO) 像@ Min,@ Max,@ Size等。
这不是用这个搞乱POJO对象的最佳方法 注释
如何在spring框架中编写用于验证表单的代码?
答案 0 :(得分:2)
Spring提供了一种验证(和数据绑定)设计,不排除其中任何一种。 Spring具有Validator接口,可用于验证对象。
Validator 接口使用错误对象,以便在验证时,验证程序可以向Errors对象报告验证失败。
人POJO:
public class Person { private String name; private int age; // the usual getters and setters... }
实施验证器:
public class PersonValidator implements Validator { /** * This Validator validates just Person instances */ public boolean supports(Class clazz) { return Person.class.equals(clazz); } public void validate(Object obj, Errors e) { ValidationUtils.rejectIfEmpty(e, "name", "name.empty"); Person p = (Person) obj; if (p.getAge() 110) { e.rejectValue("age", "too.darn.old"); } } }的文件处理
答案 1 :(得分:0)
关于你是否应该在POJO上使用注释肯定存在争议。 我个人的意见是,如果你不打算在模块之间共享POJO,那么注释配置是完全可以接受的。
如果您希望在没有注释的情况下配置验证约束,您应该查看Hibernate Validator(Hibernate Validator是此JSR 349的参考实现)XML配置。该配置的参考是here。
另请查看教程的this(稍微过时)帖子。