2016-06-29 6 views
1

Ich versuche, die js-Ausführung zu stoppen, wenn die Validierungsfunktion false zurückgibt. Wenn es jedoch falsch ist, hört das Skript nicht auf und ich kann die Nachricht "Dies wird ausgeführt ??" - Würde mir jemand einen Hinweis geben, warum der Aufruf der Funktion in submit() nicht funktioniert? Was ist hier falsch? Danke im Voraus.wie js Ausführung mit Funktion innerhalb einer anderen Funktion zu stoppen

// validate name 
function validate(name){ 
    if(name.length < 1){ 
     console.log('false - length: ' + name.length); 
     return false; 
    } 
} 

// submit function 
function submit(){ 
    var name = ''; 

    // if name is empty, the script should stop. 
    validate(name); 

    console.log("This will run??"); 
    return true; 
} 

submit(); 
+0

Es funktioniert. Es tut einfach nicht, was * falsch * erwartet: 'return' gilt nur für den Funktionskörper, in dem es erscheint. – user2864740

+1

Sie wollen' if (! Validate (name)) return false; 'Und Sie müssen auch' true zurückgeben 'am Ende von 'validieren', wenn der Scheck besteht. – Thilo

Antwort

2
function validate(name){ 
    if(name.length < 1){ 
     console.log('false - length: ' + name.length); 
     return false; 
    } 
    return true; 
} 

sollte Ihr Prüf-Funktion true zurück (sonst gibt es nicht definiert, die falsy ist)

function submit(){ 
    var name = ''; 

    // if name is empty, the script should stop. 
    if(validate(name)) { 
    console.log("This will run??"); 
    return true; 
    } else { 
    return false; 
    } 
} 
Verwandte Themen