2015-06-25 37 views
-1

我新來Flask。 我嘗試登錄 頁我驗證由jQuery代碼的用戶輸入的用戶:flask:如何停止python程序時jQuery找到無效輸入?

$(document).ready(function(){ 
//alert('begin'); 
$(".input.reg_butn").click(function(){ 
    if($("[name=username]").val()==""){ 
     alert("username empty"); 
    }else{ 
     if($("[name=password]").val()==""){ 
      alert("password empty"); 
     } 
    } 
}) 

})

和我的Python代碼如下:

@app.route('/login',methods=['GET','POST']) 
def login(): 
    ..... 

我的問題是當js代碼發現用戶提交了一個無效值(如空密碼的用戶名)時,如何停止運行python代碼。 我在JS中使用警報來通知用戶,但是python代碼照常運行。 如何解決它?

回答

0

我不認爲這是正確的方法:在客戶端驗證數據。相反,你應該在服務器端使用燒瓶擴展來處理表單和表單驗證:flask-WTF

0

您正在捕獲輸入按鈕的點擊,但您需要停止表單提交。如果你用一個處理程序來監聽它,你也可以在用戶按下回車鍵時運行你的檢查。

$(document).ready(function() { 
    // Adjust this selector as necessary. 
    $("form.login").submit(function() { 
    $(this).preventDefault(); 

    if ($("[name=username]", this).val() == "") { 
     alert("username empty"); 
    } else { 
     if ($("[name=password]", this).val() == "") { 
     alert("password empty"); 
     } 
    } 
}); 

如果使用的是HTML5,雖然,這都可以通過添加required到輸入標籤簡化。

<input type="text" name="username" required> 

Any browser that supports it將爲您提交表單提交(無需任何JavaScript)。