如何使用 jQuery Validate 验证 TINYMCE Editor

How can I validate TINYMCE Editor with jQuery Validate

我正在创建一个表单,我想验证我的表单(包括 tinymce 编辑器 textarea)。

这是我的代码。

$('#edit_info').validate({
    errorElement: 'span',
    errorClass: 'error',
    focusInvalid: false,
    ignore: "",
    rules: {
        title: {
            required: true
        },
        logo: {
            required: true
        },
        sort: {
            required: true
        },
        show_on_dashboard: {
            required: true
        },
        description: {
            required: true
        }
    }
});

但我必须按 'Submit' 2 次,然后才会进行验证。知道为什么吗?

当 TinyMCE 被注入页面时,原始表单元素(例如 <textarea>)不再可见。如果你使用你的浏览器工具,你会看到 TinyMCE 注入了一系列 <div>s 和一个 <iframe> 有效地隐藏了你的 <textarea>.

因此,如果您要求 jQuery 查看 <textarea> 中的值,它可能仍然具有您首次加载 TinyMCE 时的初始值。

为了让 jQuery 验证基础 <textarea>,您首先必须使用 TinyMCE 的当前内容更新 <textarea>。为此,您需要使用 triggerSave() API。这将强制 TinyMCE 立即用编辑器中的当前值更新基础 <textarea>