2012-11-27 29 views
6

tôi đang tạo ra Plugin Tôi có đoạn mã này dưới đây:ckeditor Plugin - xác nhận một trường văn bản

gì tôi đang cố gắng làm là đảm bảo rằng địa chỉ email mà họ nhập là hợp lệ. Chỉ cần không chắc chắn cách dừng onOK nếu địa chỉ email không hợp lệ.

Cảm ơn

Đây là một đoạn mã của các plugin

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

Trả lời

10

Hãy xem trên official samplevalidate tài sản. Bạn có thể viết phương pháp xác nhận của riêng bạn tại thời điểm này.

Bạn cũng có thể sử dụng one of the available (vẫn không được ghi trong API). Bạn có thể muốn làm điều gì đó như thế này (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."); 
... 

Nó cũng có thể kết hợp trình xác nhận hiện có và/hoặc viết xác nhận tùy chỉnh:

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

Tôi có thể kết hợp nhiều xác nhận với nhau? Ví dụ bây giờ tôi có 'validate: CKEDITOR.dialog.validate.integer ('Value must be integer');' và tôi muốn thêm điều kiện 'value juice

+0

@juice Chỉ cần cải thiện câu trả lời. Tôi hy vọng nó hữu ích. – oleq

Các vấn đề liên quan