【问题标题】:Global custom jQuery-validator method issue with multiple forms具有多个表单的全局自定义 jQuery-validator 方法问题
【发布时间】:2012-07-08 00:39:36
【问题描述】:

我在一个 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 的多个实例,或者非全局声明自定义验证器方法的方法。

帮助表示赞赏。

【问题讨论】:

    标签: jquery jquery-validate portal


    【解决方案1】:

    这是一个丑陋的 hack,但您可以将 portlet 放在 iframe 中。每个 iframe 都单独运行 javascript。你可以有多个 jquery 的“实例”。

    不过,iFrame 会导致各种其他问题,因此这是最后的解决方案。

    【讨论】:

    • 谢谢,但那不行,因为它是一个 portlet 应用程序
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多