2012-11-27 9 views
6

tworzę wtyczki mam ten kawałek kodu poniżej:CKEditor plugin - sprawdzanie poprawności pola tekstowego

co próbuję zrobić, to upewnić się, że adres e-mail wejdą jest prawidłowy. Nie wiem, jak zatrzymać onOK, jeśli adres e-mail nie jest prawidłowy.

Dzięki

Jest to fragment kodu wtyczki

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

Odpowiedz

10

Proszę spojrzeć na official sample i validate nieruchomości. W tym momencie możesz napisać własną metodę sprawdzania poprawności.

Można również użyć one of the available (nadal nieudokumentowane w interfejsie API). Prawdopodobnie chcesz zrobić coś takiego (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."); 
... 

Możliwe jest również łączenie istniejących weryfikatorów i/lub napisać własne walidatory:

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

mogę połączyć bardziej sprawdza razem? Na przykład teraz mam 'validate: CKEDITOR.dialog.validate.integer (" Wartość musi być liczbą całkowitą ");' i chcę dodać warunek 'wartość juice

+0

@juice Właśnie poprawiłem odpowiedź. Mam nadzieję, że to pomocne. – oleq

Powiązane problemy