StrutsValidator的使用

来源:互联网 发布:mysql 5.6.35.tar.gz 编辑:程序博客网 时间:2024/06/06 01:29
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>

  首先,在struts-config.xml文件中要写入:

 

  xxx.xxxx.xxxx的部分是资源文件的路径

  [pre]

 

 

  [/pre]

  这里如果是想使用多个***.xml文件的话,value部分写法如下value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml,/WEB-INF/validation1.xml,/WEB-INF/validation2.xml"

  在里,定义需要验证的画面对应的Action的时候要加上validate="true"

  1.动态验证DynaValidatorForm的使用(组合验证)

  不需要再写对应的ActionForm,只需在struts-config.xml里把自己的ActionForm进行配置,在form-property里设置相应的项目,比如说mytext,mytextarea什么的,执行的时候会动态生成ActionForm

 

  type="org.apache.struts.validator.DynaValidatorForm">

 

 

 

 

  如果需要在client端验证,需要做如下3处配置和修改:

  a.页面中的form中添加:onsubmit="returnvalidateRegistrationForm(this);"

  b.插入JavaScript占位代码:

 

  dynamicJavascript="true"

  staticJavascript="false"/>

 

  staticJavascript.jsp页面要在相应目录中,可以在strutsexample中找到,内容无须修改。

  在validator.xml中写入所希望的验证代码。

  2.继承ValidatorForm类,提供validate()方法

  如果有特殊需要的验证,可以直接Form类,覆盖validate方法,在其中进行灵活的验证。

  publicActionErrorsvalidate(ActionMappingmapping,HttpServletRequestrequest){

  ActionErrorserrors=newActionErrors();

  ......

  if(mytext.equals("aaa")){//myexample

  errors.add("mytext",newActionError("mytext.error"));

  }

  ......

  returnerrors;

  }

  此时,如果写了这个方法,就会屏蔽掉在validation.xml中定义的验证部分,换句话说就是系统运行时,validation.xml里对应此ActionForm的定义的错误验证部分不实行

  如果不写这个方法的话,系统运行时会进行validation.xml里对应此ActionForm的定义的错误验证部分的操作

  此类方法是在服务器端进行验证,验证部分代码客户端不可见。

<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
原创粉丝点击