jQuery MiniUI

 找回密码
 立即注册
查看: 2658|回复: 3
打印 上一主题 下一主题

ckedit与form验证 [复制链接]

Rank: 4

跳转到指定楼层
楼主
发表于 2014-8-27 11:53:17 |只看该作者 |倒序浏览
好像form.validate()验证不了ckedit。

validate: function (all) {
        var controls = this.getValidateFields();
        for (var i = 0, l = controls.length; i < l; i++) {
            var control = controls[i];
            var succ = control.validate();
            if (succ == false && all === false) {
                break;
            }
        }
        return this.isValid();
    },
this.getValidateFields();拿不到ckedit控件。

  getValidateFields: function () {
        function isDisplay(control) {
            return control.isDisplay(function (p) {
                if (mini.hasClass(p, 'mini-tabs-body')) return true;               
            });
        }
        var fields = [];
        var controls = this.getFields();
        for (var i = 0, l = controls.length; i < l; i++) {
            var control = controls[i];
            if (!control.validate || !control.isDisplay) continue;
            if (isDisplay(control)) {
                fields.push(control);
            }
        }
        return fields;
    },
ckedit在isDisplay()中验证不通过。
   

Rank: 8Rank: 8

沙发
发表于 2014-8-27 12:16:29 |只看该作者
只能验证miniui控件,ckeditor是第三方控件

Rank: 4

板凳
发表于 2014-8-27 12:21:33 |只看该作者
felt 发表于 2014-8-27 12:16
只能验证miniui控件,ckeditor是第三方控件

但是自定义jquery.uploadfiy上次控件,用miniui包装了下form.validate();却可以验证到
mini.AttachUpload = function () {
    mini.AttachUpload.superclass.constructor.call(this);
}

mini.extend(mini.AttachUpload, mini.ValidatorBase, {
    uiCls: "mini-attachupload",
    _InputType : "file",
    controlName : "",
    tableObjectId : "",
    fieldName : "",
    allowInput:"",
    fieldCnName : "",
    verifyFieldId : "",
    tableId : "",
    formField: true,
   
    _create: function () {
            this.el = document.createElement("span");
            this.el.className = "mini-attachupload";
    },
   
    initAttachUpload: function () {
            this._valueEl.id = this.verifyFieldId;
            this._valueEl.tableobject_id = this.tableObjectId;
            this._valueEl.cnName = this.fieldCnName;
            this.el.childNodes[1].id = this.fieldName + "_field_upload";
                this.el.childNodes[2].id = this.fieldName + "_attachlist_fileQueue";
                this.el.childNodes[2].name = this.fieldName + "_attachlist_fileQueue";
                this.el.childNodes[3].value = this.tableId;
                this.el.childNodes[4].id = this.fieldName + "_attachlist_attach_id";
                this.el.childNodes[5].id = this.fieldName + "_attachmentList";
    },
只是那个mini.hasClass(p,'mini-tabs-body') 有啥讲究。

Rank: 8Rank: 8

地板
发表于 2014-8-27 14:29:21 |只看该作者
nuangnian 发表于 2014-8-27 12:21
但是自定义jquery.uploadfiy上次控件,用miniui包装了下form.validate();却可以验证到
mini.AttachUpload ...

这东西一时半会很难说清的,还得看你自己的代码理解能力

Archiver|普加软件

GMT+8, 2024-11-27 06:15 , Processed in 1.048792 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部