6

私はプラグインを作成しています。以下のコードがあります。

私がやろうとしているのは、彼らが入力したメールアドレスが有効であることを確認することです。メールアドレスが有効でない場合に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() );
                            }                   
                   }
            ]
    }
]
4

1 に答える 1

12

公式サンプルvalidateプロパティをご覧ください。この時点で、独自の検証メソッドを作成できます。

利用可能なものを使用することもできます(まだ 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.' )
...
于 2012-11-28T09:33:10.973 に答える