当前位置:首页 > Web开发 > 正文

显示名称、数据长度及数据格式验证等

2024-03-31 Web开发

标签:

ASP.NET MVC扩充数据模型-界说数据模型的Metadata

Posted on 2018-07-12 by Wang Kepai

 

 

Rate this post

无论你是使用LINQ to SQL、Entity Framework或其他ORM技术建置根本数据模型,大部分的ORM技术城市供给部分类别(Partial Class)的扩充机制,可以让你扩充通过工具生成的这些数据模型类别,进一步供给更完整的数据处事。

界说数据模型的Metadata

数据模型的Metadata又称ModelMetadata,ModelMetadata用来界说数据模型的相关属性(Attribute),例如,,显示名称、数据长度及数据格局验证等,在.NET 3.5 SP1时期,ASP.NET新增了一组System.ComponetModel.DataAnnotations定名空间的类别,到了.NET 4.0又进一步扩充这个定名空间的属性(Attribute),而ASP.NET MVC也更是操作了这个特性,让我们可以直接使用DataAnnotations机制,对ASP.NET MVC中界说的数据模型加以扩充界说。

.NET 4.0的System.ComponetModel.DataAnnotations定名空间中供给了如下的验证属性

StringLength:字符串字段所允许的最大长度

Required:必填字段

RegularExpression:字段属性必需切合所指定的正则表达式

Range:数字字段必需切合的范畴

CustomValidation:自界说字段验证法则

以下是一个简单的会员数据模型类别演示,我们操作System.ComponetModel.DataAnnotations定名空间中界说的一些属性,为每个字段加上批注。每个会员信息都有姓名、Email以及心情图标三个字段,姓名是必填字段,所以套用了Required属性;Email好比切合正确的格局,所以操作RegularExpression属性去验证用户输入的格局:心情图标需从限定的三个图标中挑选一个,我们在数据库中以int格局做界说。因此,可以操作Range属性去验证该字段的值只能呈现1~3的整数。

演示措施代码如下:

public class Member
{
[Required]
public string Name { get; set; }
[RegularExpression(@"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4})$"
,ErrorMessage = "请输入正确的Email格局")]
public string Email { get; set; }
[Range(1, 3, ErrorMessage = "请选择代表图标")]
public int EmotionIcon { get; set; }
}

ASP.NET MVC扩充数据模型-界说数据模型的Metadata

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/30352.html