Javascript 将数据发送到服务器ASP.Net MVC之前的客户端验证

Javascript 将数据发送到服务器ASP.Net MVC之前的客户端验证,javascript,asp.net-mvc-4,Javascript,Asp.net Mvc 4,我在ASP.Net中有一个视图。我在视图中添加了一些控件。我正在尝试在将数据发送到服务器之前进行客户端验证。如果一切正常,我想将其发送到服务器。 我的代码在这里: @using (Html.BeginForm("Index", "staff", FormMethod.Post)) { @Html.AntiForgeryToken() @Html.ValidationSummary(true)

我在ASP.Net中有一个视图。我在视图中添加了一些控件。我正在尝试在将数据发送到服务器之前进行客户端验证。如果一切正常,我想将其发送到服务器。
我的代码在这里:

     @using (Html.BeginForm("Index", "staff", FormMethod.Post))
            {
            @Html.AntiForgeryToken()
            @Html.ValidationSummary(true)

            <div class="form-group has-feedback">
                <div> @Html.LabelFor(a => a.staff_name, "Staff Name")</div>
                @Html.TextBoxFor(a => a.staff_name, new { @class = "form-control", placeholder = "", required = "required", autofocus = "autofocus"})
            </div>
                    <div class="form-group has-feedback">
                        <div> @Html.LabelFor(a => a.user_name, "Username")</div>
                        @Html.TextBoxFor(a => a.user_name, new { @class = "form-control", placeholder = "", required = "required" })

                    </div>
                    <div class="form-group has-feedback">
                        <div> @Html.LabelFor(a => a.password, "Password")</div>
                        @Html.PasswordFor(a => a.password, new { @class = "form-control", placeholder = "", required = "required",id="password" })

                    </div>
                    <div class="form-group has-feedback">
                        <div> @Html.LabelFor(a => a.confirm_password, "Confirm Password")</div>
                        @Html.PasswordFor(a => a.confirm_password, new { @class = "form-control", placeholder = "", required = "required", id = "c_password" })

                    </div>

                    <div class="row">
                        <div class="col-xs-3 ">
                            <button type="submit" class="btn btn-primary btn-md pull-right" onsubmit="validateForm()">Submit</button>
                        </div><!-- /.col -->
                    </div>
        }
    </div>
</section>
<script type="text/javascript">
    function validateForm()
    {
        var pass = document.getElementById("password").value;
        var c_pass = document.getElementById("c_password").value;

        if(pass==c_pass)
        {
            //submit
        }

    }

</script>
@使用(Html.BeginForm(“Index”,“staff”,FormMethod.Post))
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
@LabelFor(a=>a.staff_name,“staff name”)
@Html.TextBoxFor(a=>a.staff_name,新的{@class=“form control”,placeholder=“”,required=“required”,autofocus=“autofocus”})
@LabelFor(a=>a.user\u name,“用户名”)
@Html.TextBoxFor(a=>a.user_name,新的{@class=“form control”,placeholder=“”,required=“required”})
@LabelFor(a=>a.password,“password”)
@Html.PasswordFor(a=>a.password,新的{@class=“form control”,placeholder=“”,required=“required”,id=“password”})
@LabelFor(a=>a.confirm\u密码,“confirm password”)
@密码(a=>a.confirm_password,新的{@class=“form control”,placeholder=”“,required=“required”,id=“c_password”})
提交
}
函数validateForm()
{
var pass=document.getElementById(“密码”).value;
var c_pass=document.getElementById(“c_密码”).value;
如果(通过==c_通过)
{
//提交
}
}

我想检查“密码”和“确认密码”是否匹配。如果匹配,则只在服务器中发布。

嘿,您只需要在web.config文件中启用客户端验证,无需为此编写任何外部代码。 您可以在web.config文件中添加以下代码行

  <appSettings>
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
  </appSettings>


希望它对你有用

您应该在
@Html.BeginForm
之前使用
@{Html.EnableClientValidation(true);}
启用客户端验证,并使用jquery
validate()

使用此选项可激活客户端验证

<script type="text/javascript">
        $(document).ready(function() {
            $("#yourFormId").validate({
                rules: {
                    ConfirmPassword: {
                        equalTo: "#Password"
                    },
                },
                messages: {
                     confirm_password: {
                        equalTo: "Please enter the same password as above"
                    },
                }
            });
        });
</script>

$(文档).ready(函数(){
$(“#yourFormId”).validate({
规则:{
确认密码:{
equalTo:“#密码”
},
},
信息:{
确认密码:{
equalTo:“请输入与上述相同的密码”
},
}
});
});

web.config文件中已经有这些代码。我想要的是让Javascript验证输入。仅在验证后,将数据提交到服务器。您可以使用此选项完成我的回答工作吗?