Javascript ASP.Net MVC 5 Html.BeginForm提交和具有必需属性的模型
我在模型属性上有required属性,但我添加了一个“微调器”,以在submit表单中显示处理请求。现在,尽管它没有提交表单,但它显示了我创建的“微调器”,并停留在覆盖上,但具有必需属性的文本框处于焦点位置Javascript ASP.Net MVC 5 Html.BeginForm提交和具有必需属性的模型,javascript,jquery,asp.net-mvc,asp.net-mvc-5,Javascript,Jquery,Asp.net Mvc,Asp.net Mvc 5,我在模型属性上有required属性,但我添加了一个“微调器”,以在submit表单中显示处理请求。现在,尽管它没有提交表单,但它显示了我创建的“微调器”,并停留在覆盖上,但具有必需属性的文本框处于焦点位置 using (Html.BeginForm("Add", "UserAccount", FormMethod.Post, new { onsubmit="spinner()"})) { //Html.TextBoxes for model properties with required }
using (Html.BeginForm("Add", "UserAccount", FormMethod.Post, new { onsubmit="spinner()"}))
{
//Html.TextBoxes for model properties with required
}
<div id="spinner" hidden="">
<div>
<i class="fa fa-spinner fa-spin fa-pulse" style="color: white; font- size: 50px;"></i>
<label style="color: white; font-size: 50px;">Processing</label>
</div>
</div>
<script>
function spinner() {
$("#spinner").show();
}
</script>
使用(Html.BeginForm(“Add”,“UserAccount”,FormMethod.Post,new{onsubmit=“spinner()”}))
{
//Html.textboxs,用于具有必需属性的模型属性
}
处理
函数微调器(){
$(“#微调器”).show();
}
在访问onsubmit函数之前,是否可以先检查“required”属性是否满足?您需要将submitHandler函数添加到验证器中。是完整的代码
<script type="text/javascript">
$(function () {
$("form").data("validator").settings.submitHandler = function (form) {
$("#submit-button").html("<i class=\"fa fa-spinner fa-pulse\"></i> Signing In...")
.prop('disabled', true);
form.submit();
};
});
</script>
$(函数(){
$(“表单”).data(“验证器”).settings.submitHandler=函数(表单){
$(“#提交按钮”).html(“登录…”)
.prop('disabled',true);
表单提交();
};
});
我认为您需要在提交表单之前进行客户端验证。您在属性上添加了必需的属性,这很好。现在进行客户端验证您需要添加一些js来处理客户端的所有验证
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include("~/Scripts/jquery.validate*"));
下面是您需要的js列表
<script src="/Scripts/jquery.validate.js"></script>
<script src="/Scripts/jquery.validate.unobtrusive.js"></script>
请在本博客上找到更多信息
在正确验证所有字段(如属性中提到的必填项
、范围
等)之前,使用此选项不会提交您的表单
添加这组代码后,您可以通过单击按钮以及下面的按钮来验证表单
$("#btn1").click(function (e) {
e.preventDefault();
// now trigger the form validation, result is 1 or 0
var result = $('form').valid();
if(!result)
{
// Do some stuff if form is not valid
}
});
它说。数据是未定义的。看起来一个页面中有多个表单标记。如果是这样的话,您需要通过id来定位它-例如,使用(Html.BeginForm(“Add”,“UserAccount”,FormMethod.Post,new{id=“form1”)和
$(“#form1”).data(“validator”)
$("#btn1").click(function (e) {
e.preventDefault();
// now trigger the form validation, result is 1 or 0
var result = $('form').valid();
if(!result)
{
// Do some stuff if form is not valid
}
});