使用ViewModel进行MVC验证

时间:2011-03-15 10:02:12

标签: c# validation asp.net-mvc-3 data-annotations

我有EF4实体,用DataAnnotations修饰,我在web.config中启用了客户端验证,以及所有内容。它有效,除了在某些视图中我的@model是一个MyViewModel,其中T是EF4实体之一:

public class MyViewModel<T>
{
 public T Entity {get;set;}
 public string SomeOtherPropertyWhichDoesntNeedValidation {get;set;}
}

现在由于某些原因,在ViewModel中使用时,T上的验证不起作用。 只是为了澄清,文本框是由@ Html.TextBoxFor(o =&gt; o.Entity.Title)生成的;等

请帮助

编辑:这就是我的实体的样子

[MetadataType(typeof(TextMeta))]
public partial class Text
{
        class TextMeta
        {
            [Required(ErrorMessage="This is required!!!")]
            public string Title { get; set; }
        }
}

1 个答案:

答案 0 :(得分:1)

你能试试吗?

[MetadataType(typeof(TextMeta))] 
public partial class Text {}

public class TextMeta 
{
    [Required(ErrorMessage="This is required!!!")]
    public string Title { get; set; } 
}