Asp.net mvc + .net ef database first 或 model first 时如何添加验证特性
2013-01-08 17:02 程序开发助手 阅读(1061) 评论(2) 编辑 收藏 举报今天有个同事问到,在使用Entity Framework 的Database frist或model first时,怎么在model上添加验证的特性?
因为此时的Model是是VS 工具怎么生成的,直接加attribute到modle类上是太现实也不合理。一个比较合理做法,就是用 buddy class的方式来实现。
比如有一个Model类: Movie。那我们就可以添加一个局部类文件,局部类的内容如下:
using System.ComponentModel.DataAnnotations;
namespace Movies.Models
{
[MetadataType(typeof(MovieMetadata))]
public partial class Movie
{
class MovieMetadata
{
[Required(ErrorMessage="Titles are required")]
public string Title { get; set; }
[Required(ErrorMessage="The Price is required.")]
[Range(5,100,ErrorMessage ="Movies cost between $5 and $100.")]
public decimal Price { get; set; }
}
}
}
通过在这个局部类文件中添加需要的验证属性就可以了。
参考:
http://weblogs.asp.net/scottgu/archive/2010/01/15/asp-net-mvc-2-model-validation.aspx