我使用基於表單驗證的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