2015-06-25 34 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)。