2017-01-23 4 views
1

Ich baue eine Formularvalidierung in jQuery. Ich habe 3 Felder und muss sie validieren. Ich habe diese FunktionJquery wrap mehrere Aktionen in eine

function validate(field){ 
    if(field.val().length === 0){ 
    field.removeClass().addClass("error"); 
     field.next().removeClass().addClass("error"); 
    } 
    else if (plz.val().length != 5) { 
     field.removeClass().addClass("error"); 
     field.next().removeClass().addClass("error"); 
    } 
    else { 
    field.removeClass(); 
    field.next().removeClass(); 
    } 

    return field; 
    } 

Ich habe 2 weitere Felder zu überprüfen, E-Mail und Telefonnummer, gibt es eine Möglichkeit kann ich irgendwie nicht den Code wiederholen unter allen else if Aussagen?

field.removeClass().addClass("error"); 
field.next().removeClass().addClass("error"); 

Antwort

1

Warum nicht eine Funktion verwenden, um die Logik zu abstrahieren?

function handleErrorClass(field) { 
    field.removeClass().addClass("error"); 
    field.next().removeClass().addClass("error"); 
} 

Und verwenden Sie es wie folgt aus:

handleErrorClass(field); 

für jedes benötigte Feld