2012-11-27 15 views
6

の検証: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' : '[email protected]', 
          required : true, 
          accessKey : 'T', 
          commit : function(element) 
          { 
           var emailRegEx = /^[A-Z0-9._%+-][email protected][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()); 
          }     
        } 
      ] 
    } 
] 

答えて

10

のコードスニペットでofficial samplevalidate財産に見てみてください。この時点で、独自の検証方法を書くことができます。

one of the availableを使用することもできます(まだAPIには記載されていません)。おそらく、この(CKEditorバージョン4)のような何かをしたい:

... 
validate: CKEDITOR.dialog.validate.regex(/^[A-Z0-9._%+-][email protected][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.') 
... 
+0

私はもっと一緒に検証組み合わせることができますか?たとえば、私は 'validate:CKEDITOR.dialog.validate.integer( '値は整数でなければなりません');と' 'value juice

+0

@juiceただ答えを改善しました。それが役に立ちそうです。 – oleq

関連する問題