我在编写一个注册页面 用到的是Struts1.2架构 在写validation.xml的时候不知道怎么写了 因为validator-rules.xml中没有提供验证框架。
希望高手们耐心指导!!
我知道很多人觉得麻烦 希望用js就能解决 可是这是一个知识点 对于初学者 我希望从这点可以举一反三 所以希望各位大侠可以支持  谢谢!

解决方案 »

  1.   

    找本书看吧
    我就在看书呢
    哪里不懂再问
    网上也应该有例子啊
    呵呵我和LZ一样,平时都用js
    但是觉得这是个知识点,所以也在看呢
      

  2.   

    你可以自己定义个校验规则
    package myValidator;import java.io.Serializable;import javax.servlet.http.HttpServletRequest;import org.apache.commons.validator.Field;
    import org.apache.commons.validator.ValidatorAction;
    import org.apache.commons.validator.ValidatorUtil;
    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionError;
    import org.apache.struts.action.ActionErrors;
    import org.apache.struts.action.ActionMessage;
    import org.apache.struts.action.ActionMessages;
    import org.apache.struts.validator.Resources;import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;import check.registerForm;public class sameNumber implements Serializable {
    public static boolean validateSameNumber(java.lang.Object bean,
                org.apache.commons.validator.ValidatorAction va,
                org.apache.commons.validator.Field field,
                org.apache.struts.action.ActionMessages am,
                org.apache.commons.validator.Validator vali,
                javax.servlet.http.HttpServletRequest request){
    String temp=field.getVarValue("compareId");
    if(temp.equals("1")){
    String value=null;
    if(field.getProperty()!=null&&field.getProperty().length()>0){
    value=ValidatorUtil.getValueAsString(bean,field.getProperty());//获取这property属性的输入值

    }
    registerForm re=new registerForm();
    re=(registerForm)bean;
    String value1=re.getUserCode();

    // String temp=field.getVarValue("compareId");
    // System.out.println(temp);

    if(!value.equals(value1)){
    am.add(field.getProperty(),Resources.getActionError(request,va,field));
    return false;
    }
    }
    else if(temp.equals("2")){
    String sr=(String) request.getSession().getAttribute("rand");
    String value1=ValidatorUtil.getValueAsString(bean,field.getProperty());
    if(!value1.equals(sr)){
    am.add(field.getProperty(),Resources.getActionError(request,va,field));
    return false;
    }
    }
    return true; }
    }//设置0为不变,1为变这里面有密码确认 还有验证码校验
      

  3.   


    <!-- 这是第一个密码的规则  -->
    <field property="password" depends="mask">
    <arg0 key="form.password"/>
    <var>
    <var-name>mask</var-name>
    <!-- 全为数字  6到10位 -->
    <var-value>^\d{6,10}$</var-value>
    </var>
    </field><field property="passwordCheck" depends="validwhen">
    <arg0 key="form.password"/>
    <arg1 key="form.passwordCheck"/>

    <var>
    <var-name>test</var-name>
    <!-- 判断password是否等于*this* 代表passwordCheck -->
    <var-value>(password == *this*)</var-value>
    </var>
    </field>
      

  4.   

    walidwhen 这条没有用过  我仔细看一下  3Q