论坛首页 Java企业应用论坛

讨论:Struts 2.0.9 中怎样扩展自定义的客户端验证类型

浏览 2666 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-08-17  

Struts 2.0.9中 客户端验证的显示效果是和服务器验证一样,如果希望用alert方式来显示,swimren 在其一篇帖子中已有提到怎么修改可以实现。 详细请参考 http://www.iteye.com/topic/82991      不过在2.0.9这个版本中修改的话更简单些  只需要改一个文件 form-close-validate.ftl   并将其放在  \classes\template\xhtml\  就可以了   对form-close-validate.ftl 的修改和swimren稍有些不同   修正了int double 和 email类型时 输入为空的时候也验证通过的问题。 详细请看附件

Struts 2.0.9中客户端验证支持的类型有限,date 类型就不支持。 我尝试着在form-close-validate.ftl添加代码来支持date类型,但获取不到min和max的值。 代码如下:

js 代码
  1.         <#elseif validator.validatorType = "date">   
  2.         if (field.value != null) {   
  3. var value = Date.parse(field.value.replace('-','/') );      
  4.           var datevalue= new Date(value );      
  5.             if(isNaN(datevalue))   
  6.       {   
  7.                 addError(field, error);   
  8.                 errors = true;   
  9.             }   
  10.             if (<#if validator.min?exists>value <= Date.parse(${validator.min}.replace('-','/')) <#else>false </#if> ||   
  11.                 <#if validator.max?exists>value >= Date.parse(${validator.max}.replace('-','/')) <#else>false </#if> ){   
  12.                 addError(field, error);   
  13.                 errors = true;   
  14.             }   
  15.         }   
  16.         if>  

 

但执行的时候, 报validator.min没有定义。   这样行不通 ,又在源码中找相关的文件经行修改,但没找到。

有人有方法解决此问题么? 讨论一下啊

 附:支持的客户端验证类型有:
required validator
requiredstring validator
stringlength validator
regex validator
email validator
url validator
int validator
double validator

 

   发表时间:2007-08-20  
已经找到方法:
   见 http://www.mxjava.com/blog/article.asp?id=294
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics