2
下面是用於數據註釋驗證添加到實體框架模型好友等級:ASP.NET MVC 2驗證一個強類型的型號列表隨着數據註釋異常使用EnableClientValidation()當
[MetadataType(typeof(Result_Validation))]
public partial class Result
{
}
[Bind(Include = "Title,Description")]
public class Result_Validation
{
[Required(ErrorMessage = "Title is required")]
public string Title { get; set; }
[Required(ErrorMessage = "Description is required")]
public string Description { get; set; }
}
這裏是我的查看:
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<IList<Result>>" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Test</title>
</head>
<body>
<% Html.EnableClientValidation(); %>
<% using (Html.BeginForm()) {%>
<%: Html.ValidationSummary(true) %>
<fieldset>
<% for (int i = 0; i < 4; i++) { %>
<div class="editor-label">
<%: Html.LabelFor(model => model[i].Title)%>
</div>
<div class="editor-field">
<%: Html.TextBoxFor(model => model[i].Title)%>
<%: Html.ValidationMessageFor(model => model[i].Title)%>
</div>
<div class="editor-label">
<%: Html.LabelFor(model => model[i].Description)%>
</div>
<div class="editor-field">
<%: Html.TextBoxFor(model => model[i].Description)%>
<%: Html.ValidationMessageFor(model => model[i].Description)%>
</div>
<% } %>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
<% } %>
</body>
</html>
這適用於服務器端validaton,但只要我放棄Html.EnableClientValidation();在那裏我得到這個錯誤:「給定的密鑰不在字典中。」
..和它指向這一行的看法:
<%: Html.ValidationMessageFor(model => model[i].Title)%>
我一樣,同樣的結果之前。 – JAKEtheJAB 2010-06-24 16:31:30