我有一个非常简单的标签帮助器
<form asp-area="Admin" asp-controller="Categories" asp-action="EditCategory" method="post" id="CategoryForm">
<div class="row">
<div class="col-xl-4 col-lg-6 col-md-12 mb-1">
<fieldset class="form-group">
<input type="hidden" id="parentId" value="@ViewBag.parentId" />
<input type="hidden" id="Id" asp-for="Id" />
<label for="basicInput">Name</label>
<input asp-for="Name" class="form-control" />
<span asp-validation-for="Name" class="text-danger"></span>
</fieldset>
</div>
<div class="col-xl-12 col-lg-12 col-md-12 mb-1">
<fieldset class="form-group">
<button type="submit">Edit</button>
</fieldset>
</div>
</div>
</form>
我想要的1-首先通过jquery客户端评估插件检查表单验证2-如果验证,则从用户那里获得发送数据的确认
3-然后提交4-如果不是数据注释显示在屏幕上
我有这个jquery代码选项2和3
$("#CategoryForm").submit(function (event) {
event.preventDefault();
swal.fire({
title: 'Edit Category',
text: "Are you sure?",
icon: 'info',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Yes',
cancelButtonText: 'No'
}).then((result) => {
if (result.value) {
$("#CategoryForm").submit();
}
})
});
在本例中,即使是Name输入字段(表单验证应该是否定的),确认也被发送给用户
我该怎么做呢?
要实现这一点,您需要安装名为[jquery validation]的自定义jquery包。如下所示:
$("#CategoryForm").validate({
submitHandler: function(form) {
swal.fire({
title: 'Edit Category',
text: "Are you sure?",
icon: 'info',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Yes',
cancelButtonText: 'No'
}).then((result) => {
if (result.value) {
form.submit();
}
})
}
});