在更新之前验证字段

时间:2013-10-09 09:49:18

标签: javascript jquery ajax spring validation

在我能够执行和更新AJAX之前,我一直试图验证我的表单数据。所以基本上我想要实现的是在ajax更新函数之前验证表单输入数据。我不知道在下面的方法中我将把验证函数放在哪里: 我的AJAX更新功能:

$("#updateUser").click(function() {
            $.ajax({
                type: "POST",
                url: "${pageContext.request.contextPath}/updateUser",
                data: $("#updateForm").serialize(),
                success: function(response) {
                    $("#alert").show();
                },
                error: function(XMLHttpRequest, textStatus, errorThrown) { 
                    alert("Status: " + textStatus); alert("Error: " + errorThrown); 
                } 
            });
        });

这是我试图验证的表格:

    <form id="updateForm">
                    <input type="hidden" id="id" name="id" /> 
                    Name:
                    <input type="text" name="name" id="name" />
                    <br /> 
                    User name:
                    <input type="text" name="username" id="username" />
                    <br /> 
                    Email:
                    <input type="text" name="email" id="email" />
                    <br /> 
                    Authority
                    <input type="text" name="authority" id="authority" />
                    <br />
                </form>

任何建议请帮忙,我是javascript的新手。感谢

2 个答案:

答案 0 :(得分:1)

您应该在发送ajax呼叫之前放置验证码。

$("#updateUser").click(function() {
var allright = true;
if ($('#name').val() == ''){
    allright = false;
    highlight_input('#name');
}
if (allright){
        $.ajax({
            type: "POST",
            url: "${pageContext.request.contextPath}/updateUser",
            data: $("#updateForm").serialize(),
            success: function(response) {
                $("#alert").show();
            },
            error: function(XMLHttpRequest, textStatus, errorThrown) { 
                alert("Status: " + textStatus); alert("Error: " + errorThrown); 
            } 
        });
}
    });

答案 1 :(得分:1)

如果您使用 jQuery validation ,则可以采用以下方式

$("#updateUser").click(function() {

   var form = $( "#updateForm" );
   form.validate();
    if(form.valid()){
        $.ajax({
            type: "POST",
            url: "${pageContext.request.contextPath}/updateUser",
            data: $("#updateForm").serialize(),
            success: function(response) {
                $("#alert").show();
            },
            error: function(XMLHttpRequest, textStatus, errorThrown) { 
                alert("Status: " + textStatus); alert("Error: " + errorThrown); 
            } 
        });
      }
    });