【发布时间】:2011-10-06 21:18:09
【问题描述】:
这是我部分视图中的代码 -
@using (Ajax.BeginForm("SaveLayout", new AjaxOptions { HttpMethod = "Post"}))
{
@Html.ValidationSummary(true)
<div style="padding: 10px;">
<div class="editor-field">
Layout Name: @Html.EditorFor(m => m.Name)
@Html.ValidationMessageFor(m => m.Name)</div>
<br />
<br />
<input type="submit" value="Save" />
<input type="button" onclick="CloseDialog()" value="Cancel" />
</div>
}
在我的 _Layout.cshtml 中看起来像这样 -
<script src="@Url.Content("~/Scripts/JQuery/jquery-1.6.4.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/JQuery/jquery-ui.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/JQuery/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/JQuery/jquery.validate.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/JQuery/jquery.validate.unobtrusive.js")" type="text/javascript"></script>
我的根 web.config 中有这个 -
<add key="ClientValidationEnabled" value="true"/>
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>
这就是我的控制器动作的样子 -
[HttpPost]
public ActionResult SaveLayout(Model.Layout layout)
{
if (ModelState.IsValid)
{
ILayout.SaveLayout(layout);
}
return PartialView("_SaveLayout", layout);
}
粗略地说,这是我的模型 -
public class Layout : BaseModel
{
[Required(ErrorMessage = "Please assign name to the compare group.")]
public string Name { get; set; }
}
当名称字段为空并且用户点击保存按钮时,我无法让我的客户端验证工作。有人可以建议我在这里做错了什么吗?任何帮助将不胜感激。
【问题讨论】:
标签: asp.net-mvc-3 validation razor client