使用模型验证 asp.net 核心提交表单后禁用按钮
disabled button after submit form with model validation asp.net core
如何在 asp.net 核心中提交带有模型验证的表单后禁用按钮?
代码:
<form action="/AddComment" method="post" id="InsertCommentForm">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-group">
<input type="hidden" asp-for="ProductId" />
<input type="hidden" asp-for="ParentId" value="" id="reply" />
<input asp-for="Email" id="Email" class="form-control mrg15B" placeholder="لطـفا یک ایمیل معتبر وارد کنید">
<span asp-validation-for="Email" class="text-danger"></span>
<input asp-for="FullName" id="FullName" class="form-control mrg15B" placeholder="لطـفا نام خود را وارد کنید">
<span asp-validation-for="FullName" class="text-danger"></span>
<textarea asp-for="Text" id="Text" class="form-control mrg15B area" cols="60" rows="5" placeholder="لطفا متن پیام را وارد کنید"></textarea>
<span asp-validation-for="Text" class="text-danger"></span>
<br />
<input type="submit" value="ارسال" id="InsertCommentBtn" class="btn btn-warning">
</div>
</form>
我测试了几次,但如果验证模型开始工作并阻止发布表单,禁用按钮仍然存在。
谢谢
需要在jquery.validate.js
中使用validate()
方法(_ValidationScriptsPartial.cshtml中默认引用了js文件 ) 来验证表单。只有当验证通过时,按钮才会被禁用:
@section Scripts {
@{await Html.RenderPartialAsync("_ValidationScriptsPartial");}
<script>
$("#InsertCommentForm").on("submit", function(event) {
var validator = $("#InsertCommentForm" ).validate();
var flag = validator.form();
if(flag)
{
$('input[type="submit"]').attr('disabled',true);
}
});
</script>
}
如何在 asp.net 核心中提交带有模型验证的表单后禁用按钮?
代码:
<form action="/AddComment" method="post" id="InsertCommentForm">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-group">
<input type="hidden" asp-for="ProductId" />
<input type="hidden" asp-for="ParentId" value="" id="reply" />
<input asp-for="Email" id="Email" class="form-control mrg15B" placeholder="لطـفا یک ایمیل معتبر وارد کنید">
<span asp-validation-for="Email" class="text-danger"></span>
<input asp-for="FullName" id="FullName" class="form-control mrg15B" placeholder="لطـفا نام خود را وارد کنید">
<span asp-validation-for="FullName" class="text-danger"></span>
<textarea asp-for="Text" id="Text" class="form-control mrg15B area" cols="60" rows="5" placeholder="لطفا متن پیام را وارد کنید"></textarea>
<span asp-validation-for="Text" class="text-danger"></span>
<br />
<input type="submit" value="ارسال" id="InsertCommentBtn" class="btn btn-warning">
</div>
</form>
我测试了几次,但如果验证模型开始工作并阻止发布表单,禁用按钮仍然存在。
谢谢
需要在jquery.validate.js
中使用validate()
方法(_ValidationScriptsPartial.cshtml中默认引用了js文件 ) 来验证表单。只有当验证通过时,按钮才会被禁用:
@section Scripts {
@{await Html.RenderPartialAsync("_ValidationScriptsPartial");}
<script>
$("#InsertCommentForm").on("submit", function(event) {
var validator = $("#InsertCommentForm" ).validate();
var flag = validator.form();
if(flag)
{
$('input[type="submit"]').attr('disabled',true);
}
});
</script>
}