在我的asp mvc应用程序中,我使用标准的客户端验证(DataAnnotations + MicrosoftAjax.js + MicrosoftMvcValidation.js)。 我需要在成功/不成功的客户端验证后显示一些弹出消息(jGrowl)(因此我不能使用ModelState.IsValid)。 所以我搜索一些标准的标志,指示客户端验证状态。有人知道吗?它存在吗?
答案 0 :(得分:7)
我不知道MicrosoftMvcValidation是否公开了这样的函数但使用jQuery你可能会检查是否有任何表单字段包含错误:
var isValid = $('#formId .input-validation-error').length > 0;
答案 1 :(得分:0)
// Now get the validation context and call the validate() method
var myForm = $("#MainForm");
var formContext = myForm[0]['__MVC_FormValidation'];
var errors;
if (formContext) {
// validate the form
errors = formContext.validate("submit");
}
if (!formContext || errors.length == 0) {
// no errors so submit to server
...
} else {
// found errors
...
}
答案 2 :(得分:0)
如果你使用jquery validate unobtrusive,你应该使用:
$(function () {
$('#formid').submit(function () {
if (!$(this).valid()) {
$('#validation-summary').show();
}
});
});
来自:How to fire jQuery function only if form is valid - Darin Dimitrov
答案 3 :(得分:0)
var pageValid = Page_ClientValidate();
这是.NET的内置函数,只需运行它就可以知道所有验证器是否都通过了。 你也可以在onClientClick的Form Check函数中使用它(return func())。并添加更多的JS操作。