我想知道什麼是使用Spring 3.0驗證html表單的子映射的最佳方法。 驗證是簡單的強制性檢查,不是很注重商業導向。 我目前使用spring-modules-validator + commons-validator,但它是maven dep。是用Spring 2.0,而不是3.0。我沒有使用註釋。Spring 3.0 MVC客戶端驗證
1
A
回答
2
你提到你目前沒有使用註釋。如果您願意使用它們,我推薦使用新的bean驗證API(JSR 303)。 Hibernate提供了一個implementation,Spring 3.0支持它。 javax.validation中提供的註釋涵蓋了大多數基本的單字段驗證,您可以將它們應用於任何POJO(不僅僅是表單bean或模型實例)。
2
在春季3 最好路要走是使用註釋,如果你可以切換。與bean驗證API的集成可以輕鬆添加驗證。驗證表單bean的所有步驟是在Spring MVC文檔的「5.驗證,數據綁定和類型轉換」註釋中添加@Valid(參見「5.7.4.1觸發@控制器輸入驗證」)控制器方法參數。然後,Spring將驗證這個bean並將驗證錯誤放入一個BindingResult中。
@Controller
public class RegisterFormController {
...
@RequestMapping(value = "/register", method = RequestMethod.POST)
public String submitFormHandler(@ModelAttribute("registration") @Valid User user, BindingResult errors) {
if (errors.hasErrors()) {
// send user back to form view
} else {
// handle form submission
}
}
...
}
的文檔說Spring會自動設置Bean驗證工廠和驗證,但如果不爲你工作,你可以手動配置它很容易:
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="webBindingInitializer">
<!-- Configures Spring MVC DataBinder instances -->
<bean class="org.springframework.web.bind.support.ConfigurableWebBindingInitializer">
<property name="validator" ref="validator" />
</bean>
</property>
</bean>
<!-- Creates the JSR-303 Validator -->
<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean" />
我也基於驗證Spring模塊的「valang」驗證的客戶端實現創建了一個項目,該模塊可以基於JSR-303和Hibernate Validator驗證註釋在JavaScript中提供客戶端驗證。
http://kenai.com/projects/jsr303js
該項目提供了一個標籤庫/您包括JavaScript文件把主要的JavaScript代碼到網頁中,然後你把某個地方在Spring <form:form></form:form>
標籤的另一個標籤觸發驗證。
<%@ taglib prefix="jsr303js" uri="http://kenai.com/projects/jsr303js/" %>
...
<head>
...
<script type="text/javascript" src="<c:url value="/js/jsr303js-codebase.js"/>"></script>
...
</head>
<body>
...
<form:form name="regForm" commandName="registration" method="post">
...
<jsr303js:validate commandName="registration"/>
...
</form:form>
相關問題
- 1. 使用JavaScript Spring MVC客戶端驗證
- 2. MVC客戶端驗證
- 3. 客戶端驗證MVC 5
- 4. 客戶端驗證不MVC
- 5. asp.net mvc客戶端驗證
- 6. MVC 3.0:爲什麼沒有客戶端驗證消息?
- 7. 本地化mvc 3.0驗證客戶端消息
- 8. 當客戶端驗證失敗時,在MVC 3.0中實現RemoteAttribute
- 9. Spring GemFire客戶端身份驗證
- 10. Spring Roo的GWT客戶端驗證
- 11. Asp.net MVC客戶端驗證,沒有客戶端驗證的子項?
- 12. 流暢驗證非空驗證與客戶端驗證在MVC
- 13. 對REST客戶端的Spring-MVC驗證響應
- 14. 通過Spring MVC RESTful移動客戶端身份驗證
- 15. asp.net mvc jquery客戶端驗證
- 16. ASP.Net MVC 2.0客戶端驗證回發
- 17. ASP.NET MVC 3客戶端驗證
- 18. 使用MVC進行客戶端驗證
- 19. 客戶端驗證問題 - MVC 4 RC
- 20. 客戶端驗證在MVC 4
- 21. 客戶端驗證不起作用Mvc
- 22. MVC 3客戶端比較驗證
- 23. 客戶端驗證在asp.net mvc 3
- 24. 客戶端驗證Asp.Net MVC 4
- 25. ASP.NET MVC-XVal客戶端驗證日期
- 26. ASP.NET MVC 2.0客戶端驗證HOWTO
- 27. ASP.NET MVC和部分客戶端驗證
- 28. MVC 5萬全客戶端驗證
- 29. Asp.Net MVC 2.0客戶端驗證VS 2010
- 30. MVC客戶端驗證EditorFor中的foreach