常常写客服端验证代码,写多了就感觉是否有啥东西可以简化处理的,这几天看了一下common-validator感觉不错,以前的项目开发的时候没有注意这个东西,感觉挺好的,同时可以进行两端验证。在网上找了好多文章发现都千篇一律的,自己弄了好久都没有弄好,今天终于有了大概的眉目,我把我自己实现bean验证通过配置文件来进行配置,springmvc中用注解
记录如下:
1首先要导入spring-modules-validation.jar,和common-validator包,spring-modules-validation.jar里面有三种验证系统,感觉如果能把这几个再分详细点就好了。
因为我现在先实现这种功能,bean验证通过配置文件来进行配置,springmvc中我用的是注解,网上找到的是bean也是使用的注解完成的。
2在mvc配置文件中加入配置
<!-- 表单验证管理 -->
<!-- <bean id="beanValidator"
class="org.springmodules.validation.commons.DefaultBeanValidator">
<property name="validatorFactory" ref="validatorFactory" />
</bean> 这个是bean验证的方式,下面是通过配置的验证器-->
<bean id="confValidator"
class="org.springmodules.validation.commons.ConfigurableBeanValidator">
<property name="validatorFactory" ref="validatorFactory" />
</bean>
<bean id="validatorFactory"
class="org.springmodules.validation.commons.DefaultValidatorFactory">
<property name="validationConfigLocations">
<list>
<value>WEB-INF/validator-rules.xml</value>
<value>WEB-INF/validation.xml</value>
</list>
</property>
</bean>
3在controller中加入
@Controller
public class ServiceModelController{
@Autowired
private GgwsfwbService ggwsfwbService;
@Autowired
ConfigurableBeanValidator confValidator;
......在保存数据前验证
@RequestMapping("/savemodel")
public String saveServiceModel(@ModelAttribute("PhServiceModelForm")PhServiceModel obj,
BindingResult bindingResult,
HttpSession session,
ModelMap model){
confValidator.setFormName("PhServiceModelForm");
confValidator.validate(obj, bindingResult);
。。。。。。
这里增加个控制将公用验证函数输出到单独的文件,如果不这样处理而单独访问这个jsp页面,将会发生错误,有兴趣的可以试试
@RequestMapping("/validator")
public String printJavaScript(){
return "validator";
}
这个validator.jsp页面内容如下
<%@ page language="java" pageEncoding="utf-8" contentType="javascript/x-javascript; charset=utf-8;"%>
<%@ taglib uri="http://www.springmodules.org/tags/commons-validator" prefix="validator" %>
<validator:javascript dynamicJavascript="false" staticJavascript="true"/>
3jsp页面调用产生的js,我系统默认访问后缀为htm
<script type="text/javascript" src="<c:url value="/validator.htm"></c:url>">
<validator:javascript formName="PhServiceModelForm" dynamicJavascript="true" staticJavascript="true" xhtml="true" cdata="false"/>
在from的onsubmit函数
<form id="form1" name="form1" method="post" action="<c:url value="/savemodel.htm"></c:url>" onsubmit="return validatePhServiceModelForm(this);">
<s:bind path="PhServiceModelForm.START_DATE">
<input type="text" name="START_DATE" id="START_DATE" value="${status.value}"/>${status.errorMessage}
</s:bind>
以上过程就是我实现spring, common-validator的验证过程,我将validator的配置文件上传上来,不过这个配置文件还有些问题,仅供参考,
如果谁有更好的解决办法欢迎指教
分享到:
相关推荐
在实际应用中,Apache Commons Validator 可以与Spring框架等其他组件集成,以实现更高级别的数据验证。例如,可以将其与Spring MVC结合,以便在控制器层自动执行验证,避免了在业务逻辑中处理验证细节。 总的来说...
aspectjrt.jar aspectjweaver.jar ...spring-webmvc-struts.jar spring-webmvc.jar spring.jar standard.jar struts-spring-other-lib.rar struts.jar unittest.jar xercesImpl.jar xmlParserAPIs.jar
hibernate-validator-5.2.4.Final.jar imgscalr-lib-4.2.jar jackson-annotations-2.2.3.jar jackson-core-2.2.3.jar jackson-databind-2.2.3.jar jackson-module-jaxb-annotations-2.2.3.jar javaGeom-0.11.1.jar ...
25,hibernate-validator-4.2.0.jar 26,httpclient-4.2.3.jar 27,httpcore-4.2.2.jar 28,IKAnalyzer-3.2.8.jar 29,im4java-1.4.0.jar 30,jackson-annotations-2.1.4.jar 31,jackson-core-2.1.4.jar 32,...
commons-validator-1.2.0.jar curator-framework-1.1.16.jar cxf-rt-frontend-simple-2.6.1.jar cxf-rt-transports-http-2.6.1.jar doxia-core-1.0-alpha-11.jar doxia-core-1.0.jar doxia-decoration-model-1.0-...
commons-validator-1.3.1.jar jstl-1.0.2.jar(改为:\spring-framework-2.5.5\lib\j2ee\jstl.jar) oro-2.0.8.jar standard-1.0.6.jar(改为:\spring-framework-2.5.5\lib\jakarta-taglibs\standard.jar) struts-core...
commons-validator-1.3.1.jar jstl-1.0.2.jar(改为:\spring-framework-2.5.5\lib\j2ee\jstl.jar) oro-2.0.8.jar standard-1.0.6.jar(改为:\spring-framework-2.5.5\lib\jakarta-taglibs\standard.jar) struts-core...
- **使用 Validator 接口:** Validator 接口用于校验数据的有效性,可以配合 Spring MVC 等框架使用。 - **BeanWrapper 和 bean 处理:** BeanWrapper 是一个用于读写 Bean 属性的工具类,可以方便地进行属性的设置...
commons-validator-1.3.1.jar jstl-1.0.2.jar(改为:\spring-framework-2.5.5\lib\j2ee\jstl.jar) oro-2.0.8.jar standard-1.0.6.jar(改为:\spring-framework-2.5.5\lib\jakarta-taglibs\standard.jar) struts-core...
commons-validator-1.3.1.jar jstl-1.0.2.jar(改为:\spring-framework-2.5.5\lib\j2ee\jstl.jar) oro-2.0.8.jar standard-1.0.6.jar(改为:\spring-framework-2.5.5\lib\jakarta-taglibs\standard.jar) struts-core...
3. New Features and Enhancements in Spring Framework 4.0 ............................................ 17 3.1. Improved Getting Started Experience .........................................................
Spring Boot | 应用框架 | 2.1.2.RELEASE | [https://projects.spring.io/spring-boot/](https://projects.spring.io/spring-boot/) spring-cloud-netflix | 微服务框架 | Greenwich.RELEASE | ...
在Java Web开发领域,Struts2、Spring以及Hibernate是三个非常重要的开源框架,它们各自在不同的方面发挥着重要作用:Struts2用于构建MVC架构的Web应用;Spring作为依赖注入容器,简化了Java应用中的对象管理;...
### SpringMVC + Spring + MyBatis 集成框架的环境搭建 #### 一、概览 在当今的企业级应用开发中,SpringMVC、Spring 和 MyBatis 是非常流行的三大技术框架,它们通常被组合在一起使用,形成了所谓的 SSM...
秒杀模块的前端实现以及api接口技术选型后端技术技术说明官网SpringBoot容器+MVC框架Shiro认证和授权框架MyBatisORM框架MyBatisGenerator数据层代码生成Hibernator-Validator验证框架RabbitMq消息队列Redis分布式...
3. New Features and Enhancements in Spring Framework 4.0 ............................................ 17 3.1. Improved Getting Started Experience .........................................................
master-common -- 工具类及通用代码 ├── master-mbg -- 生成的数据库操作代码 ├── master-security -- SpringSecurity封装公用模块 ├── master-admin -- 后台商城管理系统接口 └── master-source --静态...
SpringMVC | MVC框架 | [http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#mvc](http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#mvc) ...
mall-common -- 工具类及通用代码 ├── mall-mbg -- MyBatisGenerator生成的数据库操作代码 ├── mall-security -- SpringSecurity封装公用模块 ├── mall-admin -- 后台商城管理系统接口 ├── mall-search ...