[Display(Name = "Release Date")]
[DataType(DataType.Date)]
public DateTime ReleaseDate
{
get;
set;
}
[Range(1, 100)]
[DataType(DataType.Currency)]
Column(TypeName = "decimal(18, 2)")]
public decimal Price
{
get;
set;
}
使用 [RegularExpression] 特性验证数据的格式。 [DataType] 属性用于指定比数据库内部类型更具体的数据类
型。 [DataType] 特性不是验证特性。 示例应用程序中仅显示日期,不显示时间。
DataType 枚举提供多种数据类型,如 Date 、 Time 、 PhoneNumber 、 Currency 、 EmailAddress 等。
DataType.Date 不指定显示日期的格式。 默认情况下,数据字段根据基于服务器的 CultureInfo 的默认格式进行
显示。
[DisplayFormat] 特性用于显式指定日期格式:
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)] 

public DateTime ReleaseDate { get; set; }
可单独使用 [DisplayFormat] 特性,但通常建议使用 [DataType] 特性。 [DataType] 特性按照数据在屏幕上的呈现方式传达数据的语义。 [DataType] 特性可提供 [DisplayFormat] 所不具有的以下优点:
浏览器可启用 HTML5 功能(例如显示日历控件、区域设置适用的货币符号、电子邮件链接等)。
默认情况下,浏览器将根据区域设置采用正确的格式呈现数据。
借助 [DataType] 特性,ASP.NET Core 框架可选择适当的字段模板来呈现数据。 单独使用时, DisplayFormat特性将使用字符串模板。
 

using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace RazorPagesMovie.Models
{
public class Movie
{
public int ID { get;
set;
}
[StringLength(60, MinimumLength = 3)] public string Title
{
get;
set;
}
= string.Empty;
[Display(Name = "Release Date"), DataType(DataType.Date)] public DateTime ReleaseDate
{
get;
set;
}
[RegularExpression(@"^[A-Z]+[a-zA-Zs]*$"), Required, StringLength(30)] public string Genre
{
get;
set;
}
= string.Empty;
[Range(1, 100), DataType(DataType.Currency)] [Column(TypeName = "decimal(18, 2)")] public decimal Price
{
get;
set;
}
[RegularExpression(@"^[A-Z]+[a-zA-Z0-9""'s-]*$"), StringLength(5)] public string Rating
{
get;
set;
}
= string.Empty;
}
}
 

使用 DataType 特性应用于 Date 和 Price 属性的更多相关文章

  1. 领域驱动和MVVM应用于UWP开发的一些思考

    领域驱动和MVVM应用于UWP开发的一些思考 0x00 起因 有段时间没写博客了,其实最近本来是根据梳理的MSDN上的资料(UWP开发目录整理)有条不紊的进行UWP学习的.学习中有了心得体会或遇到了问 ...

  2. 20155301-滕树晨 第二次随笔作业--从现有技能获取的经验应用于JAVA中

    第二次随笔--从现有技能获取的经验应用于JAVA中 你有什么技能比大多人(超过90%以上)更好? 这个想了半天,有一个是我乒乓球还是比较擅长的,在学校里可能比百分之90的人要强,在外面肯定是不如了.再 ...

  3. Git应用于Android项目的入门知识:我的理解

    Git应用于Android项目的基本知识.     常常将git,repo和gerrit三种工具配合起来使用,使Android开发中的部分工作自动化.并适应敏捷项目管理的需要.     repo是Go ...

  4. thiscall仅仅应用于“C++”成员函数(this指针存放于CX寄存器,参数从右到左压)

    _stdcall是Pascal程序的缺省调用方式,通常用于Win32 Api中,函数采用从右到左的压栈方式,自己在退出时清空堆栈.VC将函数编译后会在函数名前面加上下划线前缀,在函数名后加上" ...

  5. @Required 注释应用于 bean 属性的 setter 方法,它表明受影响的 bean 属性在配置时必须放在 XML 配置文件中,否则容器就会抛出一个 BeanInitializationException 异常。

    @Required 注释应用于 bean 属性的 setter 方法,它表明受影响的 bean 属性在配置时必须放在 XML 配置文件中,否则容器就会抛出一个 BeanInitializationEx ...

  6. JavaScript应用于asp开发场景

    JavaScript应用于asp开发场景 演示代码示例: <%Path="../"%> <!--#include file="../../Inc/Con ...

  7. PlantUML —— 应用于 Eclipse 的简单快速的 UML 编辑软件

    PlantUML —— 应用于 Eclipse 的简单快速的 UML 编辑软件 简介: 在应用系统软件开发过程中,如果软件由很多对象组成,它的结构仅仅凭借分析很难理清,同时为了有利于软件的开发及重用, ...

  8. promise应用于ajax

    promise应用于ajax,可以在本页打开控制台,复制代码试验 var url = 'https://www.cnblogs.com/mvc/blog/news.aspx?blogApp=dkplu ...

  9. 应用于Java中的一个开源的表达式语言(Expression Language)

    OGNL(英文全称:Object Graph Navigation Language,中文名:对象导航图语言)是应用于Java中的一个开源的表达式语言(Expression Language),它被集 ...

  10. SSD固态盘应用于Ceph集群的四种典型使用场景

    在虚拟化及云计算技术大规模应用于企业数据中心的科技潮流中,存储性能无疑是企业核心应用是否虚拟化.云化的关键指标之一.传统的做法是升级存储设备,但这没解决根本问题,性能和容量不能兼顾,并且解决不好设备利 ...

随机推荐

  1. 难搞的electron之安装

    做了几个electron项目,感觉最难搞的地方竟然是安装!这怎么能忍!经过几天试错,把自己能够顺利安装的流程记录下来,仅供参考. 使用框架为quasar+vue+quasar_electron qua ...

  2. MTSC2021上海站PPT 分享

  3. CORScanner-20211125

    Usage: cors_scan.py [-h] [-u URL] [-i INPUT] [-t THREADS] [-o OUTPUT] [-v] [-d [HEADERS [HEADERS ... ...

  4. locust 检查点、集合点、参数化设置。

    1.参数化 方式1:循环取数据,数据可以重复使用. 所有并发虚拟用户共享同一份测试数据,各虚拟用户在数据列表中循环取值. 例如,模拟10个用户并发请求网页,总共有4个URL地址,每个虚拟用户都会依次循 ...

  5. Delphi 移除窗口最大化按钮

    很遗憾,好像没有直接的代码可以操作,可以试试以下代码: var GWL_Result: Integer; begin GWL_Result:= GetWindowLong(Handle,GWL_STY ...

  6. 多个if...else和switch...case语句的区别和分析

    1.场景: 当我们有一个判断条件的时候,显然用if语句比较方便有效. 但当判断条件很多的时候,我们可以使用if语句或者if....eles 语句和switch  case 语句. 2.如何选择 一般情 ...

  7. blog2对PTA4,5,6集的习题总结

    一.      前言 通过本三次PTA得题目,我受益匪浅.题量的话不算太多,但是题目难度有些大.在本次PTA第六次题目集中,题目难度较中,第四次题目集第一道水文数据处理与第五次题目集的查询关键字出现次 ...

  8. java中线程的两种创建方式

    第一种:继承java.lang.Thread类.然后重写run方法 例如我们模拟一个龟兔赛跑 1 package edu.aeon.thread; 2 3 /** 4 * 说明:模拟龟兔赛跑 5 * ...

  9. vue自定义组件的总结(一)

    1.定义组件时 <template>   <input     class="input"     :type="type"     :pla ...

  10. return chain.filter(exchange); 这句啥意思

    答:继续往后执行过滤器,如果不调用这句代码,请求就不会发给控制器了,如果当前执行的过滤器后面还有过滤器,执行那个过滤器,如果没有,就执行控制器. 那我此时想一个请求取消token校验,得在这里加吗? ...