Ajax表单验证消息不显示

时间:2015-10-01 09:40:37

标签: asp.net-mvc validation asp.net-mvc-4

这是我第一次在Asp.Net MVC-4上进行验证。

  

这里的问题是验证消息没有显示   即使我发布空表格也需要字段。

这是我正在使用的表格:

@using (Ajax.BeginForm("Save","DSA",
    new AjaxOptions { OnSuccess = "OnSuccess", OnFailure = "OnFailure" }))
{
    @Html.TextBoxFor(m => m.Insert_DSA.DSAId)
    @Html.ValidationMessageFor(m => m.Insert_DSA.DSAId)

    @Html.TextBoxFor(m => m.Insert_DSA.Firstname)
    @Html.ValidationMessageFor(m => m.Insert_DSA.Firstname)

<input type="submit" value="Save" />
}

在模型类中:

 [Required(ErrorMessage = "DSA ID is required")]
    public string DSAId { get; set; }

  [Required(ErrorMessage = "First Name is required")]
    public string Firstname { get; set; }

这是控制器:

public ActionResult Save(Models.clsDSAMaster MyModel,string submit)
  {
      string data = "";

      if (ModelState.IsValid)
      {
          MyModel.Insert_DSA.addDSA(MyModel.Insert_DSA, Session["EmpCode"].ToString());
          data="success"; 

      }
     else
     {
         data="Faliure";
     }


     return Content(data, "text/html");
  }

任何人都可以帮助我让它工作,并启发一些关于验证如何在MVC中工作。

P.S:模板绑定和表单提交中模型的数据检索工作正常。

1 个答案:

答案 0 :(得分:0)

您必须启用不显眼的JavaScript。您可以在配置文件中执行此操作:

<configuration>
    <appSettings>
        <add key="ClientValidationEnabled" value="true"/>
        <add key="UnobtrusiveJavaScriptEnabled" value="true"/>
    </appSettings>
</configuration>

或者您也可以从代码中打开它:

HtmlHelper.ClientValidationEnabled = true;
HtmlHelper.UnobtrusiveJavaScriptEnabled = true;