Ckeditor插件-验证文本字段

Ckeditor插件-验证文本字段,ckeditor,Ckeditor,我正在创建插件 我有以下代码: 我要做的是确保他们输入的电子邮件地址有效。 只是不知道如果电子邮件地址无效,如何停止onOK 谢谢 这是插件的代码片段 contents : [ { id : 'info', label : editor.lang.form.title, title : editor.lang.form.title, elements : [

我正在创建插件 我有以下代码:

我要做的是确保他们输入的电子邮件地址有效。 只是不知道如果电子邮件地址无效,如何停止onOK

谢谢

这是插件的代码片段

contents : [
    {
            id : 'info',
            label : editor.lang.form.title,
            title : editor.lang.form.title,
            elements : [
                    {
                            id : 'destEmail',
                            type : 'text',
                            label : 'Email form results to:',
                            'default' : 'randy@me.com',
                            required : true,
                            accessKey : 'T',
                            commit : function( element )
                            {
                                var emailRegEx = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i;
                                if (this.getValue().search(emailRegEx) == -1) {
                                    alert("Please enter a valid email address.");
                                    return false;
                                }
                                element.setAttribute('id', this.getValue() );
                            }                   
                   }
            ]
    }
]
请查看并验证属性。此时,您可以编写自己的验证方法

您还可以使用(API中尚未记录)。您可能希望执行以下操作(CKEditor 4):

还可以组合现有验证器和/或编写自定义验证器:

function customValidator( x, msg ) {
    return function() {
        var value = this.getValue(),
            pass = !!( CKEDITOR.dialog.validate.integer()( value ) && value < x );

        if ( !pass ) {
            return msg;
        }
    };
}

...   
validate: customValidator( 5, 'Error message when larger than 5.' )
...
函数customValidator(x,msg){
返回函数(){
var value=this.getValue(),
通过=!!(CKEDITOR.dialog.validate.integer()(值)&&value
我可以将更多验证组合在一起吗?例如,现在我有了
validate:CKEDITOR.dialog.validate.integer('值必须是整数')我想添加条件
。我试着将这个验证功能化,但没有成功。@juice只是改进了答案。我希望这会有帮助。
function customValidator( x, msg ) {
    return function() {
        var value = this.getValue(),
            pass = !!( CKEDITOR.dialog.validate.integer()( value ) && value < x );

        if ( !pass ) {
            return msg;
        }
    };
}

...   
validate: customValidator( 5, 'Error message when larger than 5.' )
...