2016-03-21 6 views
0

Ich bin ein Noobie, ich habe Kontrollkästchen und ein Dropdown, ich retrive die Werte mit request.form.getlist (""). Ich möchte mit weiteren Schritten fortfahren, wenn der Wert des Dropdown-Menüs nicht im Wert der Checkboxen enthalten ist.Validierung in Kolben

try: 

    if drop not in check: 
     return render_template('index.html') 
except Exception: 
    return render_template('error.html') 

immer läuft es index.html auch wenn Abfallwert in Schach, Ich bin nicht wtforms verwenden. Wie soll ich es bestätigen? Vielen Dank im Voraus

+0

Was genau sind 'drop' und' check'? Welche Art von Exception erwarten Sie, wenn Sie den "Except" -Block überspringen? – glibdud

+0

Variablen, die den Wert von Dropdown und Kontrollkästchen enthalten, es erscheint nur eine Warnung, wenn die Ausnahme ausgelöst wird – rey

Antwort

0

Wenn drop und check sind die direkten Ergebnisse des Aufrufs flask.Request.form.getlist(), dann sind sie beide Listen. Ihre if drop not in check Zeile fragt, ob die gesamte Liste drop ein Mitglied der check Liste ist, die nie der Fall sein wird. Wenn es nur einen Wert für drop geben kann, verwenden Sie get anstelle von getlist, um einen einzelnen Wert zu erhalten. Andernfalls überprüfen Sie die Liste, die Sie greifen, und wählen Sie einen Wert aus, um sie mit check zu testen.

Dies alles geht davon aus, dass drop und check so aussehen, wie Sie sie aussehen. Wenn Sie nur einen einzelnen Wert von drop nicht wie erwartet verwenden, geben Sie etwas ein, um die Werte von drop und check anzuzeigen, damit Sie sehen können, wie sie tatsächlich aussehen.

+0

Ich habe sonst in try Block hinzugefügt es funktioniert, aber es funktioniert nicht mit Ausnahme. – rey

+0

@rey Ich verstehe nicht, was Sie mit "es funktioniert nicht mit Ausnahme" verstehen. – glibdud

+0

anstelle von außer Block Ich fügte sonst in try Block, der Fehler.html zurückgibt es funktionierte, aber wenn ich sonst entferne und addiere außer Block es zurückgibt Ansicht Funktion gab keine Antwort zurück. – rey

0

Verwendung wtforms mit Validierung wie:

if form.validate_on_submit(): 

Klasse Formular-Validierung überprüfen.

+0

'form.validate_on_submit()' deckt beide Methoden == POST und validieren – ThiefMaster

+0

@ThiefMaster. Tut mir leid, ich wusste es nicht. Danke für neue Informationen an mich. – JRazor