我使用基于表单验证的Spring注解(主要是@NotBlank和@Length),它非常好用。我经过的formbean进入验证方法,像这样:基于Spring注解的表单验证
validate(formBean, result);
我具有附接到其从一个预期除了验证各种表单字段几个注释。
我的一个形式豆田的声明,像这样:
private EntriesBean entries;
此字段显然是指具有通常的getter和setter的bean。这个bean中的几个字段也有附加的验证注释,但它们不像其他字段那样作为validate()方法调用的一部分进行验证。这是否与这个bean从另一个bean引用而不是直接来自调用validate()的方法有关?
感谢
这与pushNestedPath的方式做比较呢?他们中的一个比另一个“更好的做法”? – csilk
我不确定Spring如何验证这些方法,我给你的方法是使用HibernateValidator,我不确定它是否可以与你的方法一起使用。我认为这是因为@Valid是javax.validation包中的标准注释。你可以看看http://docs.jboss.org/hibernate/validator/4.0.1/reference/en/html/validator-usingvalidator.html – gcesarmza
我试着从javax库中使用@Valid,但它没有触发嵌套bean上的验证注释。我一直坚持我目前的做法,因为我找不到使用Spring以其他方式工作的示例。 – csilk