显然,我在 View 中使用@Html.ValidationSummary()
来显示用户发布到我的 Controller 时可能发生的任何错误。
但是这是我的场景
- 用户发布到 Controller ,并且
ModelState.IsValid = false;
@Html.ValidationSummary()
向用户显示我的错误消息。- 现在用户更正了错误并单击提交按钮。
但是,我想清除该错误消息,因为我可能会在帖子实际发生之前向用户提供另一个选项(客户端脚本)。
我尝试了各种隐藏“验证摘要”部分的技术,但均无济于事。
function resetValidation() {
$("form").data("valmsg-summary").hide();
$(".field-validation-error").addClass("field-validation-valid");
$(".input-validation-error").addClass("input-validation-valid");
$(".validation-summary-errors").addClass("validation-summary-valid");
$(".field-validation-error").removeClass("field-validation-error");
$(".input-validation-error").removeClass("input-validation-error");
$(".validation-summary-errors").removeClass("validation-summary-errors");
};
这是我的“提交”按钮的脚本。
$("#btnSubmit").click(function (e) {
resetValidation(); // Trying to suppress/clear error messages
var doPost = true;
var p1 = $("#Field1").val();
var p2 = $("#Field2").val();
var p3 = $("#Field3").val();
$.ajax({
type: "GET",
url: "/MyController/MyAction",
data: { "param1": p1, "param2": p2, "param3": p3 },
async: false
}).done(function (data) {
if (data > 999)
{
// I then display a new set of fields for the user to answer
doPost = false;
}
}).fail(function (xhr, status, err) {
alert(xhr.responseText);
});
return doPost;
});
我的处理方式是否错误?
是否可以清除客户端的模型 View 错误?
最佳答案
感谢 Stephen Muecke 提供的解决方案:
$(".validation-summary-errors").empty();
关于javascript - 无法清除客户端的 ModelState 错误?有可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39511255/