C# 验证未在模式弹出窗口中触发
我的验证没有在弹出窗口上启动它显示弹出窗口很好只是没有进行验证C# 验证未在模式弹出窗口中触发,c#,asp.net-core,C#,Asp.net Core,我的验证没有在弹出窗口上启动它显示弹出窗口很好只是没有进行验证 <div> <form id="myForm"> @Html.HiddenFor(m => m.Id) @Html.TextBoxFor(model => model.Name, new { @class = "form-control", @placeholder = "Name" }) <span asp-validation-fo
<div>
<form id="myForm">
@Html.HiddenFor(m => m.Id)
@Html.TextBoxFor(model => model.Name, new { @class = "form-control", @placeholder = "Name" })
<span asp-validation-for="@Model.Name" class="text-danger"></span>
@Html.TextBoxFor(model => model.Resitance, new { @class = "form-control", @placeholder = "Address" })
<span asp-validation-for="@Model.Resitance" class="text-danger"></span>
@Html.TextBoxFor(model => model.Passed, new { @class = "form-control", @placeholder = "Passed" })
<span asp-validation-for="@Model.Passed" class="text-danger"></span>
<select asp-for="CirtcutType"
asp-items="@Html.GetEnumSelectList(typeof(ElectricalSurvey.DAL.Models.CircuitModel.CirtcutTypes))"
class="form-control"></select>
<div class="modal-footer">
<a href="#" id="btnSubmit" class="btn btn-success btn-block">@if (Model.Id > 0) {<span>Update</span> } else {<span>Save</span>} </a>
</div>
</form>
<div style="text-align:center;display:none" id="loaderDiv">
<img src="~/Content/InternetSlowdown_Day.gif" width="150" />
</div>
</div>
<script>
$(document).ready(function () {
$("#btnSubmit").click(function () {
$("#loaderDiv").show();
var myformdata = $("#myForm").serialize();
$.ajax({
type: "POST",
url: "/Electrician/SaveCircuit",
data: myformdata,
success: function () {
$("#loaderDiv").hide();
$("#MyEditUpateModal").modal("hide");
window.location.href = "/Electrician/Index";
}
})
})
})
@Html.HiddenFor(m=>m.Id)
@Html.TextBoxFor(model=>model.Name,新的{@class=“form control”,@placeholder=“Name”})
@Html.TextBoxFor(model=>model.resistance,新的{@class=“form control”,@placeholder=“Address”})
@TextBoxFor(model=>model.Passed,new{@class=“form control”,@placeholder=“Passed”})
$(文档).ready(函数(){
$(“#btnsupmit”)。单击(函数(){
$(“#loaderDiv”).show();
var myformdata=$(“#myForm”).serialize();
$.ajax({
类型:“POST”,
url:“/Electrician/SaveCircuit”,
数据:myformdata,
成功:函数(){
$(“#loaderDiv”).hide();
$(“#myeditupatemodel”).model(“隐藏”);
window.location.href=“/Electrician/Index”;
}
})
})
})
_ValidationScript.cshtml
<script src="~/lib/jquery-validation/dist/jquery.validate.min.js"></script>
<script src="~/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js"></script>
注意,我通过以下方法处理html中的对话框
<script>
var AddOrUpdateCircuit = function (id) {
var url = "/Electrician/AddOrUpdateCircut?id=" + id;
$("#myModalBodyDiv1").load(url, function () {
$("#MyEditUpateModal").modal("show");
})
}
var AddOrUpdateCircuit=函数(id){
var url=“/Electrician/AddOrUpdateCircut?id=“+id;
$(“#myModalBodyDiv1”).load(url,函数(){
$(“#myeditupatemodel”).model(“show”);
})
}
这一个将帮助您开始
<form id="myForm" class="needs-validation" novalidate>
这个可以帮助你开始
<form id="myForm" class="needs-validation" novalidate>
您没有触发表单的提交事件,正常情况下,验证将在该事件发生happen@ADyson它是用AjaxSo发布的?您仍然可以触发submit事件,然后处理它。如果您没有触发表单的submit事件,则验证通常会在该事件发生时进行happen@ADyson它是用AjaxSo发布的?您仍然可以触发submit事件,然后处理它。是否应该在表单中的某个项目上验证它,以便它可以显示这样的标签?请参阅上面的my EDIT,它仍然不显示错误。您是对的。请检查更新的解决方案。出于测试目的,您可以将字段替换为服务器端的post发生方式所需的字段,或者验证逻辑阻止了这种情况?抱歉,应该在表单中的项目上进行验证,以便它可以显示这样的标签?请参见上面的my EDIT,它仍然没有显示错误。您是对的。请检查更新的解决方案。出于测试目的,您可以替换为服务器端post发生方式所需的字段,或者验证逻辑阻止了这一点?