2012-11-27 8 views
6

doğrulama:CKEditor eklentisi - Ben aşağıda bu kod parçası var eklentisi oluşturma bir metin alanı

Ne yapmam çalışıyorum emin girdikleri e-posta adresi geçerli olup olmadığını olduğunu. E-posta adresi geçerli değilse, onOK'u nasıl durduracağınızdan emin olmayın.

Teşekkür

Bu eklenti

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()); 
          }     
        } 
      ] 
    } 
] 

cevap

10

official sample ve validate özellikte bir göz atın bir kod parçacığı olduğunu. Bu noktada kendi doğrulama yönteminizi yazabilirsiniz.

Ayrıca one of the available'u da kullanabilirsiniz (hala API'da belgelenmemiş). Muhtemelen bu (CKEditor 4) gibi bir şey yapmak istiyorum:

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

Mevcut doğrulayıcılarını birleştirmek ve/veya özel doğrulayıcılarını yazmak da mümkündür:

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

daha birlikte doğrular birleştirebilir miyiz? Mesela şu anda "validate" var: CKEDITOR.dialog.validate.integer ('Değer tamsayı olmalı'); 've juice

+0

@juice Sadece cevabı iyileştirdi. Umarım yardımcı olur. – oleq