Asp.net mvc + .net ef database first 或 model first 时如何添加验证特性
2015-10-08 19:13
786 查看
今天有个同事问到,在使用Entity Framework 的Database frist或model first时,怎么在model上添加验证的特性?
因为此时的Model是是VS 工具怎么生成的,直接加attribute到modle类上是太现实也不合理。一个比较合理做法,就是用 buddy class的方式来实现。
比如有一个Model类: Movie。那我们就可以添加一个局部类文件,局部类的内容如下:
通过在这个局部类文件中添加需要的验证属性就可以了。
参考:
http://www.asp.net/mvc/tutorials/older-versions/getting-started-with-mvc/getting-started-with-mvc-part7 http://weblogs. href="http://cpro.baidu.com/cpro/ui/uijs.php?adclass=0&app_id=0&c=news&cf=1001&ch=0&di=128&fv=18&is_app=0&jk=593665e958f7c730&k=asp%2Enet&k0=asp%2Enet&kdi0=0&luki=3&n=10&p=baidu&q=smileking_cpr&rb=0&rs=1&seller_id=1&sid=30c7f758e9653659&ssp2=1&stid=0&t=tpclicked3_hc&td=1682280&tu=u1682280&u=http%3A%2F%2Fwww%2Eth7%2Ecn%2FProgram%2Fnet%2F201301%2F120016%2Eshtml&urlid=0" target=_blank>asp.net/scottgu/archive/2010/01/15/asp-net-mvc-2-model-validation.aspx
因为此时的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://www.asp.net/mvc/tutorials/older-versions/getting-started-with-mvc/getting-started-with-mvc-part7 http://weblogs. href="http://cpro.baidu.com/cpro/ui/uijs.php?adclass=0&app_id=0&c=news&cf=1001&ch=0&di=128&fv=18&is_app=0&jk=593665e958f7c730&k=asp%2Enet&k0=asp%2Enet&kdi0=0&luki=3&n=10&p=baidu&q=smileking_cpr&rb=0&rs=1&seller_id=1&sid=30c7f758e9653659&ssp2=1&stid=0&t=tpclicked3_hc&td=1682280&tu=u1682280&u=http%3A%2F%2Fwww%2Eth7%2Ecn%2FProgram%2Fnet%2F201301%2F120016%2Eshtml&urlid=0" target=_blank>asp.net/scottgu/archive/2010/01/15/asp-net-mvc-2-model-validation.aspx
相关文章推荐
- Asp.net页面间传值方式汇总
- Unable to locate 'C:\Users\Administrator\Desktop\aspnet-3f34254d5ebec499ba8bc470544c7d401f379406\Sam
- Asphyre 更名pxl 终于全面支持跨平台了.Delphi饭们 激动了吧.
- ASP.NET动态网站制作(7)-- JS(2)
- asp.net MVC 中呈现指定区域下的分部视图
- asp.net MVC 中呈现指定区域下的分部视图
- 如何利用iis的缺陷配置system权限的asp后门 - tk
- ASP.NET中HTML页面的访问验证设置方法
- Spring @Aspect进行类的接口扩展
- OWASP Top 10 – 2013, 最新十大安全隐患(ASP.NET解决方法)
- ASP显示页面执行时间的方法
- 未能找到元数据文件C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools\..\IDE\EntityFramework.dl
- ASP编码和解码函数详解
- Asp.net Web.Config - 配置元素 trace
- Asp.net Web.Config - 配置元素 caching
- Spring @Aspect切面参数传递
- 打开asp出现An error occurred on the server when processing the URL
- 对于ASP下的分页问题
- Spring @Aspect实现切面编程
- ASP.NET中HTML页面的访问验证设置方法