我有一个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>
...
一切都很好。如果用户未能输入所需字段或输入的数字超过了最大值,则表单将不会提交,违规字段将以红色突出显示。
Q: 是否存在在";验证成功";?
我想在我知道表单是";OK";,但在它实际发布到服务器之前。
提前谢谢!
如果您想要快速交钥匙解决方案,只需包含jQuery Validation Plugin
即可。valid条件只有在有效时才返回true。
答案:然后,您可以通过发送
data structure
或control
来向其发送rxJs-subscribe
,以使用此jquery.observable插件获取事件
以下是Jquery Valid的工作原理:
形式:
$("form").valid();
// or
if($("form").valid()) {
//VALID continue
}
控制:
$("[name='CountyOfBirth']").valid(); // RETURNS true/false
提交时:您也可以通过检查表单提交来获得有效事件的类似结果
$("form").submit(function() {
if($(this).valid()) {
//VALID
} else {
//ERROR
}
});
您可以将jQuery Unobtrusive Ajax与剃刀视图中的表单一起使用。
首先,您需要包含jQuery Unobtrusive Ajax脚本:
npm i jquery-ajax-unobtrusive -D (or --save-dev)
其次,您需要通过添加特定的自定义data-
属性来在表单上启用不引人注目的ajax:
<form method="post" class="needs-validation" novalidate
data-ajax="true" data-ajax-method="post"
data-ajax-begin="onFormBegin"
data-ajax-complete="onFormComplete">
您还可以使用其他属性。
在这里,您可以注册回调,例如,在表单提交的开始和完成时:
@section scripts {
<script type="text/javascript">
$(function() {
window.onFormBegin = function() {
// This is the place where you can execute some Javascript
// after you know the form is "OK", but before it's actually
// POSTED to the server.
};
window.onFormComplete = function(request, status) {
// ...
};
});
</script>
}