TinyMCE带有jQuery验证插件

时间:2014-07-24 00:58:51

标签: javascript jquery wordpress validation tinymce

我正在尝试将jQuery validation plugin与tinyMce一起使用,但我遇到了一个小问题。

默认情况下,验证插件具有以下行为:最初每个字段都标记为有效且验证是惰性的,即在用户输入值并离开字段之前不会显示错误。一旦一个字段被标记为无效,它就会得到热切的验证,这意味着每次按键都会进行验证。

我很难模拟TinyMCE字段的这种行为。如果我使用onChange方法,则总是在焦点上完成验证。如果我使用onKeyDown方法,即使用户第一次更改字段,也会对每个键击进行验证。

有没有什么方法可以使用onChange和onKeyDown的组合来模仿jQuery验证插件的默认行为?这是我目前的代码:

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

如果我没有意义,您可以阅读验证插件的行为here

提前致谢!

1 个答案:

答案 0 :(得分:0)

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

像这样的东西

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();
        }

    });
}

注意这只是一些示例代码。我还没有证实这会起作用