如何在mvc中使用jquery unobtrusive验证来显示服务器端错误

时间:2015-04-21 12:10:47

标签: jquery ajax asp.net-mvc asp.net-mvc-4

我按下按钮点击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);

1 个答案:

答案 0 :(得分:1)

看看Remote Validation这可能会对您有所帮助