Wie überprüft man den Rückgabewert der Funktion, wenn sie wahr oder falsch ist

8

Ich habe hier eine Funktion, die Felder in einem Formular validiert, wenn sie leer sind.

%Vor%

Nun wollte ich diese Funktion hier verwenden:

%Vor%

Ich habe es versucht, und ich komme damit.

%Vor%

Das Problem ist, dass die Validierung funktioniert. .post() Funktion wird jedoch ausgeführt, obwohl ein leeres Feld vorhanden ist. Ich denke, es ist auf der if / sonst Bedingung. Gibt es einen besseren Weg, dies zu erreichen?

Danke.

    
Ken 14.09.2012, 13:31
quelle

5 Antworten

13
%Vor%

Setzen Sie bei guten Kennzahlen das Ergebnis von validate in eine Variable, um doppelte Validierung zu vermeiden, und verwenden Sie diese in der IF-Anweisung. So:

%Vor%     
Christian 14.09.2012, 13:38
quelle
8

Sie müssen ValidateForm() nicht zweimal aufrufen, wie Sie oben angegeben sind. Sie können einfach

tun %Vor%

Ich denke, das wird das Problem lösen, denn oben sieht es so aus, als ob Sie true/false mit der Zeichenkette äquivalent 'false' vergleichen.

    
JDandChips 14.09.2012 13:40
quelle
3

Sie vergleichen das Ergebnis mit einer Zeichenfolge ('false') und nicht mit der integrierten negativen Konstante (false)

benutze einfach

%Vor%

oder besser noch

%Vor%

auch warum rufen Sie validateForm zweimal auf?

    
ferry 14.09.2012 13:37
quelle
1

Falsche Syntax. Sie können einen Boolean nicht mit einer Zeichenfolge wie "false" oder "true" vergleichen. In Ihrem Fall, testen Sie es einfach umgekehrt:

%Vor%

Du könntest gegen die Konstante false testen, aber es ist ziemlich hässlich und allgemein verpönt:

%Vor%     
lc. 14.09.2012 13:37
quelle
0

ValidateForm gibt boolean zurück, nicht string .
Wenn Sie dies if(ValidateForm() == 'false') tun, ist das gleiche von if(false == 'false') , was nicht wahr ist.

%Vor%     
Ricardo Alvaro Lohmann 14.09.2012 13:37
quelle

Tags und Links