我按下按钮点击jquery ajax帖子并进行不显眼的表单验证,如下所示
$.validator.unobtrusive.parse('#formSite');
$('#formSite').validate();
if ($('#formSite').valid()) {
$.ajax({
type: "POST",
url: "/Controller/ActionMethod",
cache: false,
content: "application/html; charset=utf-8",
data: {
//data
},
success: function (data) {
if(data.success)
{
//processing
}else
{
//show errors
}
}
以上工作对于任何现有的模型错误都非常适用。在我的控制器中,我手动在模型状态中添加错误,需要再次解析表单,显示这些错误。我们如何使用其他服务器端错误调用$.validator.unobtrusive.parse('#formSite')
并显示它们。我的控制器动作方法如下所示。
if (condition)
{
ModelState.AddModelError("PostCode", "Postcode District is invalid");
}
//processing
var modelErrors = AllErrors(ModelState);
return Json(new { success = false, modelErrors },JsonRequestBehavior.AllowGet);