Ckeditor插件 - 验证文本字段

时间:2012-11-27 22:55:23

标签: ckeditor

我正在创建插件 我在下面有这段代码:

我要做的是确保他们输入的电子邮件地址有效。 如果电子邮件地址无效,请不要确定如何停止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() );
                            }                   
                   }
            ]
    }
]

1 个答案:

答案 0 :(得分:12)

请查看official samplevalidate媒体资源。此时您可以编写自己的验证方法。

您还可以使用one of the available(仍未在API中记录)。你可能想做这样的事情(CKEditor 4):

...
validate: CKEDITOR.dialog.validate.regex( /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i, "Please enter a valid email address." );
...

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

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.' )
...