无法让TinyMCE使用jQuery Unobtrusive Validation

Bri*_*iec 2 asp.net-mvc tinymce jquery-validate

我有一个形式,这是用不显眼的验证,并预期所有我的领域的工作,但一旦我加入TinyMCE的(或任何其他所见即所得的编辑器),它使用被隐藏,并防止被包含在客户端验证领域的textarea .有没有办法可以挂钩验证以包含这个隐藏字段,或者可能采用不同的方式隐藏textarea以便在回发之前验证它?

dan*_*wig 11

本周我有同样的问题.结束解决它:

// sync tinymce content to validate before submitting form
$('form input[type=submit]').click(function () {
    tinyMCE.triggerSave();
});
Run Code Online (Sandbox Code Playgroud)

...我们也使用了save插件,但是为了让它能够触发验证,不得不把它放在TinyMCE编辑器模板中:

function onSavePluginCallback(ed) {
    var form = $(ed.formElement);
    var isValid = form.valid();
    if (isValid) {
        form.submit();
    }
}

(function () {

    tinyMCE.init({
        ...
        save_onsavecallback: 'onSavePluginCallback',
        ...
Run Code Online (Sandbox Code Playgroud)

更新

这有意义的是,textarea在被隐藏时不会被不引人注意地验证.我忘了添加另一段我必须做的工作:

$.validator.setDefaults({
    ignore: ''
});
Run Code Online (Sandbox Code Playgroud)

默认情况下,jquery validate会忽略不可见的字段.ignore参数的默认值为':hidden'.通过将其设置为空字符串,您告诉jquery validate不要忽略隐藏的输入.