当我首先使用EF和数据库时,如何在我的asp.net mvc3中添加验证内容?

时间:2012-07-05 09:54:59

标签: asp.net-mvc

我的mvc3应用程序有问题,我需要创建一些验证的东西。但我没有正常的模型类,因为我已经使用EF和数据库第一种方法。

我不能只打开课程并写下类似的内容:

[Required]
[StringLength(10)]

如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

您可以使用MetadataType attribute。因此,假设EF吐在你面前的下一课你无法修改:

public partial class Foo
{
    public string Bar { get; set; }
}

现在你可以扩展它,因为它是partial class

[MetadataType(typeof(FooMetadata))]
public partial class Foo
{
}

然后定义元数据:

public class FooMetadata
{
    [Required]
    [StringLength(10)]
    public string Foo { get; set; }
}

或者,简单地抛出数据注释并使用真实的验证框架,例如FluentValidation.NET(我使用并强烈推荐),允许您以流畅的方式在模型上表达复杂的验证规则,具有{{ 3}}并且还允许您孤立地优雅地excellent integration with ASP.NET MVC