Javascript dijit/Editor的dojo验证

Javascript dijit/Editor的dojo验证,javascript,forms,validation,dojo,editor,Javascript,Forms,Validation,Dojo,Editor,我尝试将这篇详细介绍如何将dijit/form/TextArea:的验证混合到dijit/编辑器的文章扩展到dijit/编辑器 特别是让编辑器在表单提交时指出它的必要性 意识到编辑器的内容没有作为表单的一部分提交,我设置了编辑器内容的值,以便在编辑器的onChange事件中复制到隐藏的文本区域: 但是,doom,当我使用下面的代码时,无论表单中是否有文本,编辑器都会在表单提交时显示验证消息 我还注意到firebug,如果我使用开箱即用的Dijit/编辑器,则会在onChange事件上设置text

我尝试将这篇详细介绍如何将dijit/form/TextArea:的验证混合到dijit/编辑器的文章扩展到dijit/编辑器

特别是让编辑器在表单提交时指出它的必要性

意识到编辑器的内容没有作为表单的一部分提交,我设置了编辑器内容的值,以便在编辑器的onChange事件中复制到隐藏的文本区域:

但是,doom,当我使用下面的代码时,无论表单中是否有文本,编辑器都会在表单提交时显示验证消息

我还注意到firebug,如果我使用开箱即用的Dijit/编辑器,则会在onChange事件上设置textarea的值,但在使用下面的mixed-in小部件时,不会设置隐藏的textarea的值

    define("my_dijit/ValidationEditor",
        [ "dojo", "dijit", "dijit/_Widget",  "dijit/form/_FormWidget", "dijit/form /ValidationTextBox", "dijit/Editor"  ], function(dojo, dijit, _Widget, _FormWidget, ValidationTextBox, Editor) {
    return dojo.declare("my_dijit.ValidationEditor", [ dijit._Widget, _FormWidget, dijit.form.ValidationTextBox, dijit.Editor ], {

        invalidMessage: "This field is required",
        missingMessage: "A value is required",
        //regExp: "(.|\\s)*",

        // regExp: "(.|[\r\n])*",
        regExp: "(.|[\r\n|\r|\n])*",

        // postCreate() is called after buildRendering().  This is useful to override when 
        // you need to access and/or manipulate DOM nodes included with your widget.
        // DOM nodes and widgets with the dojoAttachPoint attribute specified can now be directly
        // accessed as fields on "this". 
        // Common operations for postCreate
        // 1) Access and manipulate DOM nodes created in buildRendering()
        // 2) Add new DOM nodes or widgets 

        postCreate : function() {
            this.inherited(arguments);

        },

        validate: function() {
            if (arguments.length==0) {
                return this.validate(false);
            }
                return this.inherited(arguments);
            },

            onFocus: function() {
                if (!this.isValid()) {
                    this.displayMessage(this.getErrorMessage());
                }
            },

            onBlur: function() {
                if (!this.isValid()) {
                  this.displayMessage(this.getErrorMessage());
                }
            }

    });
});
非常感谢您的考虑