议论:Struts 2.0.9 中怎样扩展自定义的客户端验证类型
讨论: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的值。 代码如下:
- ????????<#elseif?validator.validatorType?=?"date"> ??
- ????????if?(field.value?!=?null)?{ ??
- var?value?=?Date.parse(field.value.replace('-','/')?);??? ??
- ??????????var?datevalue=?new?Date(value?);??? ??
- ????????????if(isNaN(datevalue)) ??
- ??????{ ??
- ????????????????addError(field,?error); ??
- ????????????????errors?=?true; ??
- ????????????} ??
- ????????????if?(<#if?validator.min?exists>value?<=?Date.parse(${validator.min}.replace('-','/'))?<#else>false </#if>?|| ??
- ????????????????<#if?validator.max?exists>value?>=?Date.parse(${validator.max}.replace('-','/'))?<#else>false </#if>?){ ??
- ????????????????addError(field,?error); ??
- ????????????????errors?=?true; ??
- ????????????} ??
- ????????} ??
- ????????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