我在一个HTML页面上有多个表单。每个表单对于相同的方法名称将具有不同的验证逻辑。但是,jQuery-validator只允许全局添加方法,例如下面的方法'equal':
$.validator.methods.equal = function(value, element, param) {
// form1 logic
return value == param;
};
我尝试了jQuery.noConflict()但这并没有阻止form2的方法来覆盖form1。
需要的原因是,我正在开发具有多个portlet的门户应用程序。每个portlet都像独立的web应用程序(但没有HTML,HEAD,BODY标签,只是HTML的片段)。每个portlet都不知道彼此。它们一起形成一个单独的HTML页面,门户网站将组合所有portlet HTML片段并添加常见的HTML,HEAD,BODY标签。
我需要一种方法来允许jQuery的多个实例或jQuery-validator的多个实例,或者非全局地声明自定义验证器方法。
帮助表示赞赏。
答案 0 :(得分:0)
这是一个丑陋的黑客,但你可以把portlet放在iframe中。每个iframe都独立运行javascript。你可以有多个jquery“实例”。
iFrame会导致各种其他问题,所以这是最后的解决方案。