5 Stimmen

Mehrere Funktionen zurückgeben

Ich bin neu in Javascript, so entschuldige ich mich, wenn dies alles völlig falsch ist, aber ich versuche, ein Formular im Moment zu validieren, und ich habe die einfachen Funktionen für die Prüfung. Ich möchte, dass die Funktion validateForm() alle drei Funktionen checkName(), checkEmail, und checkMessage() zurückgibt. So wie ich die Funktion validateForm() habe, führt sie nur die Funktion checkName() aus. Hat jemand eine Idee?

function checkName(){

    var name=document.forms["contactForm"]["Name"].value;

    if(name==null || name==""){
        $("input#name").css("border-color", "#ff0000");
        $("input#name").attr("placeholder","Your name is required");
        return false;    
    }    
    else {
        $("input#name").css("border-color", "#00a8ff");
        $("input#name").attr("placeholder","");
        return true;
    }    
}

function checkEmail(){

    var email=document.forms["contactForm"]["Email"].value;

    if(email==null || email==""){
        $("input#email").css("border-color", "#ff0000");
        $("input#email").attr("placeholder","Your email is required");
        return false;    
    }    
    else {
        $("input#email").css("border-color", "#00a8ff");
        $("input#email").attr("placeholder","");
            return true;
        }
}

function checkMessage(){

    var message=document.forms["contactForm"]["Message"].value;

    if(message==null || message==""){
        $("textarea#message").css("border-color", "#ff0000");
        $("textarea#message").attr("placeholder","Your message is required");
        return false;    
    }    
    else {
        $("textarea#message").css("border-color", "#00a8ff");
        $("textarea#message").attr("placeholder","");
        return true;
    }
}

function validateForm(){

    return checkName() && checkEmail() && checkMessage();

}

0voto

Ben Parsons Punkte 1460

Wenn checkName() falsch ist, werden die anderen Funktionen nicht ausgeführt, da das Ergebnis immer noch falsch wäre.

0voto

Gandarez Punkte 2470

Ich habe etwas anders gemacht als die anderen. Ich habe ein Array erstellt, alle Ergebnisse meiner Validierungsmethoden hinzugefügt und dann jeden Wert verglichen (UND);

function ValidateInputs() {
    var arrValidations = new Array();

    arrValidations.push(ValidateProponentDocument());
    arrValidations.push(ValidateProponentName());
    arrValidations.push(ValidateProponentBirthdate());

    var ret = true;
    $.each(arrValidations, function (index, item) {
        ret &= item;
    });      

    return ret;
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X