我想知道什么是使用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 5
- 3. asp.net mvc客户端验证
- 4. 客户端验证不MVC
- 5. MVC客户端验证
- 6. 当客户端验证失败时,在MVC 3.0中实现RemoteAttribute
- 7. MVC 3.0:为什么没有客户端验证消息?
- 8. 本地化mvc 3.0验证客户端消息
- 9. Spring GemFire客户端身份验证
- 10. Asp.net MVC客户端验证,没有客户端验证的子项?
- 11. 流畅验证非空验证与客户端验证在MVC
- 12. 通过Spring MVC RESTful移动客户端身份验证
- 13. 对REST客户端的Spring-MVC验证响应
- 14. ASP.NET MVC 2.0客户端验证HOWTO
- 15. Asp.Net MVC 2.0客户端验证VS 2010
- 16. asp.net mvc jquery客户端验证
- 17. MVC 2 Html CheckBox客户端验证
- 18. ASP.Net MVC 2.0客户端验证回发
- 19. 客户端验证问题 - MVC 4 RC
- 20. MVC自定义客户端验证
- 21. ASP.NET MVC 3客户端验证
- 22. 客户端验证为asp.net mvc下拉?
- 23. 客户端验证不起作用Mvc
- 24. 使用MVC进行客户端验证
- 25. MVC客户端验证EditorFor中的foreach
- 26. formElement为null,Mvc客户端验证
- 27. Spring MVC用户验证
- 28. ASP.NET MVC验证摘要用于客户端验证
- 29. MVC 3.0 - 不显眼的客户端验证不适用于自定义属性
- 30. jquery客户端验证asp.net