我有一个 ASP.Net Core Razor 页面,它使用 Bootstrap 并进行客户端验证。
表格如下所示:
<form method="post" class="needs-validation" novalidate>
...
_ValidationScriptsPartial.cshtml 看起来像这样:
<environment include="Development">
<script src="~/lib/jquery-validation/dist/jquery.validate.js"></script>
<script src="~/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js"></script>
...
一切正常。如果用户未能输入必填字段或输入的数字超过最大值,则表单将不会提交,并且有问题的字段会以红色突出显示。
“验证成功”时是否触发了 DOM 事件?
我想在知道表单“正常”之后但在它实际发布到服务器之前执行一些 JavaScript。
如果您想要一个快速交钥匙解决方案,您只需添加
jQuery Validation Plugin
即可。仅当 valid 条件有效时才返回 true。
答案:然后,您可以通过发送
或rxJs-subscribe
到它,以使用此data structure
jquery.observable插件 获取事件。 以下是 Jquery Valid 的工作原理:
形式:
control
$("form").valid();
// or
if($("form").valid()) {
//VALID continue
}
$("[name='CountyOfBirth']").valid(); // RETURNS true/false
。 首先,您需要包含 jQuery Unobtrusive Ajax 脚本:
$("form").submit(function() {
if($(this).valid()) {
//VALID
} else {
//ERROR
}
});
npm i jquery-ajax-unobtrusive -D (or --save-dev)
属性来在表单上启用不显眼的 ajax:
data-
还有其他属性您可以在这里注册回调,例如在表单提交开始和完成时:
<form method="post" class="needs-validation" novalidate
data-ajax="true" data-ajax-method="post"
data-ajax-begin="onFormBegin"
data-ajax-complete="onFormComplete">