在使用spring-modules-validation过程中,遇到这样的问题,注册用户和修改用户信息,都要对输入的数据验证,注册和修改在不同的jsp页面,在修改的页面,只修改用户的部分信息。在注册和修改的controller中都是用setCommandClass(User.class);也就是使用同一个类User。所以在验证的xml文件中有两个<form>,form的name属性是不同的,<form name="user">,<form name="editUser">,但在修改页面提交之后,验证始终都是使用注册时的验证规则,这就郁闷了,谁遇上同样的问题,怎么解决呢?期待

解决方案 »

  1.   

    解决了,没人回答,自己说一下。
    原来用的DefaultBeanValidator
    <bean id="beanValidator" class="org.springmodules.validation.commons.DefaultBeanValidator">
    <property name="validatorFactory" ref="validatorFactory"/>
    </bean>
    用ConfigurableBeanValidator,不要用DefaultBeanValidator
    <!-- 验证修改信息 -->
        <bean id="validatorUpdate" class="org.springmodules.validation.commons.ConfigurableBeanValidator">
    <property name="formName" value="userInfo" />
    <property name="validatorFactory" ref="validatorFactory" />
    </bean>
        <!-- 验证修改信息 -->