TinyMCE与jQuery验证插件

TinyMCE with jQuery validation plugin

本文关键字:插件 验证 jQuery TinyMCE      更新时间:2023-09-26

我正在尝试使用jQuery验证插件与tinyMce,但我有一个小问题。

默认情况下,验证插件有以下行为:最初每个字段都被标记为有效,并且验证是惰性的,即直到用户输入值并离开该字段时才显示错误。一旦一个字段被标记为无效,它将被急切地验证,这意味着每次按键都要进行验证。

我在模拟TinyMCE字段的这种行为时遇到了困难。如果我使用onChange方法,验证总是在焦点外完成。如果我使用onKeyDown方法,验证将在每次击键时完成,即使用户是第一次更改字段。

是否有一些方法我可以使用onChange和onKeyDown的组合,以模仿jQuery验证插件的默认行为?以下是我目前拥有的代码:

function(ed) {
    ed.onChange.add(function(ed, e) {
        tinyMCE.triggerSave();
        jQuery('#'+ed.id).valid();
    });
}

如果我没有理解,你可以在这里阅读验证插件的行为。

提前感谢!

我认为你必须有一个有效的状态变量

像这样

function(ed) {
    var validState = true;
    ed.onKeyDown.add(function(ed, e) {
        if (validState) {
            return
        }
        else {
            // check if new content is valid
            validState = jQuery('#'+ed.id).valid();
        }
    }
    ed.onChange.add(function(ed, e) {
        validState = jQuery('#'+ed.id).valid();
        if (validState){
            tinyMCE.triggerSave();
        }
    });
}

注意这只是一些示例代码。我还没有验证这将工作