spring2.5 mvc common-validator 集成应用

常常写客服端验证代码,写多了就感觉是否有啥东西可以简化处理的,这几天看了一下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>" οnsubmit="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的配置文件上传上来,不过这个配置文件还有些问题,仅供参考,

 

如果谁有更好的解决办法欢迎指教

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值