【发布时间】:2011-02-03 03:52:08
【问题描述】:
我正在使用实体框架来创建我的数据对象。这是我的 Designer.cs 文件的样子:
namespace MyApp.WebUI.Models
{
...
[EdmEntityTypeAttribute(NamespaceName="MyAppDBModel", Name="AddressType")]
[Serializable()]
[DataContractAttribute(IsReference=true)]
public partial class AddressType : EntityObject
{
...
}
...
}
我有一个名为 Validation.cs 的文件,我想在其中保留对我的实体的所有验证。这是它的样子:
namespace MyApp.WebUI.Models
{
public class Validations
{
...
[MetadataType(typeof(AddressTypesValidation))]
public partial class AddressType
{
}
public class AddressTypesValidation
{
[Required(ErrorMessage = "Address Type name is required.")]
[StringLength(50, ErrorMessage = "Address Type name must be 50 characters or less.")]
public string Name { get; set; }
}
}
}
我的视图页面中有这个:
<% Html.EnableClientValidation(); %>
<% using (Html.BeginForm("Edit", "AddressTypes", FormMethod.Post)) { %>
<div class="editor-label"><%: Html.LabelFor(m => m.Name) %></div>
<div class="editor-field">
<%: Html.TextBoxFor(m => m.Name) %>
<%: Html.ValidationMessageFor(m => m.Name) %>
</div>
<input type="submit" value="Save" />
<% } %>
但我的验证没有加载。如果我尝试提交没有 Name 值的表单,我会收到一条错误消息 The value '' is invalid. 而不是我的错误消息。
我做错了什么?
【问题讨论】:
标签: c# asp.net asp.net-mvc