zoukankan      html  css  js  c++  java
  • MVC5中Model设置属性注解

    ASP.NET MVC5中Model层开发,使用的数据注解有三个作用:

    1. 数据映射(把Model层的类用EntityFramework映射成对应的表)
    2. 数据验证(在服务器端和客户端验证数据的有效性)
    3. 数据显示(在View层显示相应的数据)

    数据注解相关的命名空间如下:

      DataAnnotations名称空间中包含主要的数据注解,Schema名称空间中包含一些数据映射的数据注解,Mvc名称空间中包含字符、数组、数值长度和属性比较的数据注解,Security名称空间中包含MemberShipPassword注解特性。

    数据映射和验证相关的数据注解:

    [Required]  必填字段
    [MaxLength]  指定属性中允许的数组或字符串数据的最大长度
    [MinLength] 指定属性中允许的数组或字符串数据的最小长度
    [StringLength]                       指定最小和最大字符长度
    [Range]   指定数值范围

    数据验证相关的数据注解

    [Remote] 使用 jQuery 验证插件远程验证程序的特性
    [FileExtension] 验证文件扩展名
    [Compare] 比较两个属性的值
    [RegularExpression] 使用正则表达式验证
    [CustomValidation]  自定义验证方法
    [DataType] 指定要与数据字段关联的附加类型的名称
    [EmailAddress] 电子邮件地址(相当于[DataType(DataType.Email)])
    [Phone] 电话(同上)
    [CreditCard] 信用卡号码(同上)
    [Url]  验证URL(同上)
    [MemberShipPassword]         验证密码字段是否满足成员资格提供程序的当前密码要求

    数据映射相关的数据注解:

    [Key] 主键字段
    [Column] 数据库列属性映射
    [NotMapped] 不要创建对应的字段
    [Table] 指定类将映射到的数据库表
    [ForeignKey] 表示关系中用作外键的属性
    [DatabaseGenerated]            指定数据库生成属性值的方式(EF不追踪属性的变化)

    数据显示相关的数据注解:

    [DisplayName] 指定本地化的字符串(习惯用语类)
    [Display] 指定本地化的字符串(习惯用语属性)
    [DisplayFormat] 设置数据字段的格式
    [ReadOnly]  指定该特性所绑定到的属性是只读属性还是读/写属性
    [EditAble] 指示数据字段是否可编辑
    [HiddenInput] 指示是否应将属性值或字段值呈现为隐藏的 input 元素
    [ScaffoldColumn]                    指定类或数据列是否使用基架
    [UIHint]  指定动态数据用来显示数据字段的模板

     

     

     

     

     

    其他

    [DisplayColumn]                    将所引用的表中显示的列指定为外键列
    [Description]

    可视化设计器在引用组件成员时可以显示指定的说明

    (命名空间:System.ComponentModel.DescriptionAttribute

    1、数据验证相关的数据注解继承ValidationAttribute类,都有一个ErrorMessage属性用来显示错误提示。

    如:[Required(ErrorMessage="此项不能为空")]。

    2、数据映射中Int类型和DateTime类型在数据库中默认不允许为NULL,如果需要设置为NULL,使用可空类型即可(使用Int?或者DateTime?)。

    初学ASP.NET MVC顺便总结了一下数据注解(并不包含所有的内置数据注解),每个数据注解的具体使用请查询MSDN,不当的地方望指正。

  • 相关阅读:
    Atitit  Uncaught (in promise) SyntaxError Unexpected token < in JSON at position 0
    Atitit  验证 数字验证 非空验证的最佳算法  h5
    Atitit 转移特效attilax总结
    Atitit Loading 动画效果
    Atitit 项目管理 提升开发效率的项目流程方法模型 哑铃型  橄榄型 直板型
    Atitit hibernate3 hinernate4 hibernate5新特性attilax总结
    Atitit js es5 es6新特性 attilax总结
    Atitit mybatis 3 3.2 3.3  3.4 新特性attilax总结
    Atitit spring 3.0 3.1 3.2 4.0 4.3 5.0 新特性
    Atitit jquery  1.4--v1.11  v1.12  v2.0  3.0 的新特性
  • 原文地址:https://www.cnblogs.com/wfy680/p/12269860.html
Copyright © 2011-2022 走看看