CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  框架、开源

struts的验证框架validator的问题?在线等待,解决马上揭帖......

楼主Tzxqx(风)2006-03-12 08:37:01 在 Java / 框架、开源 提问

public   ActionErrors   validate(ActionMapping   mapping,  
  HttpServletRequest   request)   {  
  ActionErrors   errors   =   new   ActionErrors();  
  ServletContext   application   =   getServlet().getServletContext();  
  String   validationKey   =   getValidationKey(mapping,   request);  
  Validator   validator   =   Resources.initValidator(validationKey,   this,  
  application,   request,   errors,   page);  
   
  try   {  
  validatorResults   =   validator.validate();  
  }   catch   (ValidatorException   ex)   {  
                                      //这里捕获了异常  
  }  
  return   errors;  
  }  
  这是我form的代码,不知道有什么错误?请高手指点......  
  如果能提供样例代码最好了。 问题点数:100、回复次数:5Top

1 楼wuyg(平平)回复于 2006-03-12 14:27:06 得分 50

在form中写:  
   
          public   ActionErrors   validate(ActionMapping   mapping,  
                                                                    HttpServletRequest   request)   {  
   
                  //ActionErrors   errors   =   new   ActionErrors();     \\   This   will   skip   over   validation.xml  
                  ActionErrors   errors=super.validate(mapping,request);  
   
                  if   (getType()   !=   1)   {  
                                          errors.add(ActionErrors.GLOBAL_MESSAGE,  
                                                                new   ActionMessage("recommendedActionForm.roles"));  
                                  }  
   
                          }  
                  }  
   
                  return   errors;  
          }  
   
   
  在struts-config.xml的相应的的mapping   中设置validate="true"Top

2 楼Tzxqx(风)回复于 2006-03-12 18:07:51 得分 0

楼上的朋友,请问一下:  
    if   (getType()   !=   1)   {  
                errors.add(ActionErrors.GLOBAL_MESSAGE,  
                                                  new   ActionMessage("recommendedActionForm.roles"));  
    }  
   
  我搞不懂既然要用validator框架验证,你在这加这个判断是为什么?  
  Top

3 楼Tzxqx(风)回复于 2006-03-12 18:41:56 得分 0

那位仁兄能贴点代码出来学习一下阿!Top

4 楼wuyg(平平)回复于 2006-03-12 22:34:48 得分 0

因为struts的validator只能实现一些简单的校验,所以当涉及到复杂校验的时候,就必须重载  
  validate方法。  
   
  如果没有复杂校验的要求,则不用重载validate方法,只需要集成ValidatorForm类即可。  
   
  当然,在struts-config.xml的相应的的mapping   中设置validate="true"Top

5 楼woolceo(努力升仙)回复于 2006-03-12 22:51:46 得分 50

楼主不需要在Form里面实现validate方法...而且Form继承ValidatorForm就可以了...就等于说你的ActionForm其实就是一个简单的javabean,提供setter/getter就可以了...  
   
  其实更好的方法是直接实现DynamicValidatorForm...  
   
  补充楼上的:validate="true"可以不用设置,true是默认值...当然设置了会更直观.Top

相关问题

  • Struts Validator客户端验证问题?
  • ■■■Forms验证的奇怪问题,有答案马上揭帖!
  • struts 验证
  • ******** Forms验证跳转问题,朋友们帮忙看看,在线,迅速揭帖 *************
  • ■■■开春第一帖,Forms验证的奇怪问题,有答案马上揭帖!
  • struts验证问题
  • struts表单验证
  • 如何用struts的validator进行这样的验证?
  • 问一个很傻的问题,关于Struts用validator-rules.xml验证
  • 小问题:关于Struts使用validator framework验证的问题

关键词

  • 代码
  • struts
  • xml
  • validate
  • actionerrors
  • 校验
  • 设置
  • 方法
  • 实现
  • mapping

得分解答快速导航

  • 帖主:Tzxqx
  • wuyg
  • woolceo

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo