首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

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

2012-11-09 
讨论:Struts 2.0.9 中怎样扩展自定义的客户端验证类型Struts 2.0.9中 客户端验证的显示效果是和服务器验证

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

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的值。 代码如下:

  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

?

1 楼 agu 2007-08-20   已经找到方法:
   见 http://www.mxjava.com/blog/article.asp?id=294

热点排行