这是我第一次在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:模板绑定和表单提交中模型的数据检索工作正常。
答案 0 :(得分:0)
您必须启用不显眼的JavaScript。您可以在配置文件中执行此操作:
<configuration>
<appSettings>
<add key="ClientValidationEnabled" value="true"/>
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>
</appSettings>
</configuration>
或者您也可以从代码中打开它:
HtmlHelper.ClientValidationEnabled = true;
HtmlHelper.UnobtrusiveJavaScriptEnabled = true;