昨天弄了一宿,就是由於這個關於validations.xml的自動校驗,感受是挺簡單的東西,但是卻由於一個不顯眼的地方耽誤了我不少時間。 eclipse
代碼實例:寫了一個由myeclipse6.0.1自帶的struts實例,在struts-config.xml文件中加入了<plug-in>自動校驗標籤,以實現validation的自動校驗功能。
而後在WEB-INF下建立了一個validations.xml文件,加入瞭如下代碼: ui
<form-validation> <formset> <form name="loginForm"> <field property="userName" depends="required"> <arg key="loginForm.userName"/> </field> </form> </formset> </form-validation>而後在相應的properties文件中加入了 key的中文提示,部署運行,用戶名不填時,發現怎麼也不走這個驗證,直接就進入了成功頁面。最後,通過了多個小時的排錯,發現緣由出在FormBean 中,在strtus嚮導界面創建時,它的默認是鉤選上validate和reset方法的,如圖:
若是FromBean中有validate方法,則myeclipse是自動認爲採用的是手工校驗,而不是自動校驗,所以不會去調用自動校驗的<plug-in>標籤。在使用自動校驗時應把validate方法鉤去,或在FormBean中刪除此方法既可。
spa