import java.io.*;
  import java.util.Date;
  import javax.servlet.http.*;
  import org.springframework.web.servlet.mvc.AbstractWizardFormController;
  import org.apache.struts.validator.ValidatorForm;
  import org.springframework.validation.Errors;
  import org.springframework.validation.Validator;
  import org.apache.struts.action.*; public class WDValidator implements Validator{
        public boolean supports(Class clazz){
           return clazz.equals(ActionForm.class);
         }
        public void validate(Object obj,Errors errors){
         }
        public void validateStep1(Object obj,Errors errors){
            ActionForm fb=(ActionForm)obj;
           if(fb.getTxt_regname() == null||fb.getTxt_regname().equals(""))
                  errors.rejectValue("txt_regname",null,"用户名不能为空");
           if(fb.getTxt_regrealname()==null||fb.getTxt_regrealname().equals(""))
                   error.rejectValue("txt_regrealname",null,"请输入真实的姓名");
           if(fb.getTxt_regpwd()==null||fb.getTxt_regpwd().equals(""))
                   error.rejectValue("txt_regpwd",null,"请输入密码");
           if(fb.getTxt_regpwd2()==null||fb.getTxt_regpwd2().equals(""))
                   error.rejectValue("txt_regpwd2",null,"请输入确认密码");
           if(fb.getTxt_regpwd().equals(fb.getTxt_regpwd2()))
                   error.rejectValue("txt_regpwd2",null,"两次密码不一样,请重新输入");
           if(fb.getTxt_birthday()==null||fb.getTxt_birthday().equals(""))
                   error.rejectValue("txt_birthday",null,"请输入出生日期");
           else{
               try{
                   Date.valueOf(fb.getText_birthday());
                }catch(Exception e){
                  errors.rejectValue("txt_birthday",null,"出生日期格式不对");
                 }
            }
           if(fb.getTxt_regemail()==null||fg.getTxt_regemail().equals(""))
                 errors.rejectValue("txt_regemail",null,"请输入E-mail");
           elseif(fb.regemail().indexOf("@")<0||fb.getTxt_regemail().indexOf(".")<0)
              errors.rejectValue("txt_regemail",null,"E-mail格式不对");
           if(fb.getTxt_city==null||fb.getTxt_city.equals(""))
                   error.rejectValue("txt_city",null,"请选择所在城市");
           }
         public void validateStep2(Object obj,Errors errors){
             FormBean fb=(FormBean)obj;
         if(fb.getTxt_regoicq()1=null&&!fb.getTxt_regoicq().equals("")){
             String str="0123456789";
             char[] cs=fb.getTxt_regoicq().tocharArray();
             for(char c:cs){
               if(str.indexOf(c)<=0){
                 errors.rejectValue("txt_regoicq",null,"OICQ号码只能使用数字");
                 break;
                 }
              }
             }
         if(fb.getTxt_reghomepage()!==null&&!fb.getTxt_reghomepage().equals("")
                   &&!fb_getTxt_reghomepage().startsWith("http://"))
               errors.rejectValue("txt_reghomepage",null,”主页必须以http://开头");
             }
           }

解决方案 »

  1.   

    你这里的ActionForm类是Struts的ActionForm类,不太可能有getTxt_regname方法。
    不妨修改上述第一行代码,不要导入org.apache.struts.action.*;
      

  2.   

    public void validateStep2(Object obj,Errors errors){
      FormBean fb=(FormBean)obj;
      if(fb.getTxt_regoicq()1=null&&!fb.getTxt_regoicq().equals("")){ 如果我没看错的话 你那些的是1 不是!
      String str="0123456789";
      char[] cs=fb.getTxt_regoicq().tocharArray();
      for(char c:cs){
      if(str.indexOf(c)<=0){
      errors.rejectValue("txt_regoicq",null,"OICQ号码只能使用数字");
      break;
      

  3.   

    public void validateStep2(Object obj,Errors errors){
      FormBean fb=(FormBean)obj;
      if(fb.getTxt_regoicq()1=null&&!fb.getTxt_regoicq().equals("")){ 如果我没看错的话 你那些的是1 不是!  String str="0123456789";
      char[] cs=fb.getTxt_regoicq().tocharArray();
      for(char c:cs){
      if(str.indexOf(c)<=0){
      errors.rejectValue("txt_regoicq",null,"OICQ号码只能使用数字");
      break;
      

  4.   

     if(fb.getTxt_reghomepage()!==null&&!fb.getTxt_reghomepage().equals("")
    要!=  还是 要 ==  ????????????
      

  5.   

    你这里的ActionForm类是Struts的ActionForm类,不太可能有getTxt_regname方法。
    不妨修改上述第一行代码,不要导入org.apache.struts.action.*;
    以前是Formbean类。但导入什么(如何导入)
    谢谢 
      

  6.   

    这个类是你自己的。
    找一下哪个类有getTxt_regname()方法,就是应该使用的类了。
    当你的类名和org.apache.struts.action包中的某类重名的时候,你import org.apache.struts.action.*;可能就会有问题,指明类名import就会好一点。如
    import org.apache.struts.action.Action;