加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_阳江站长网 (https://www.0662zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

ASP.NET MVC5添加验证(4)

发布时间:2016-11-22 01:33:11 所属栏目:MsSql教程 来源:站长网
导读:有时候我们网站需要添加验证,这一节我们演示下怎样使用ASP.NET MVC5添加验证。 1.在Model类里面添加验证,代码如下: public class Movie { public int ID { get; set; } [StringLength(60,MinimumLength=3,ErrorMessage="主题的长度必须在3到60个字符")]

12.直接看代码吧:

 using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Web;
 using System.Data.Entity;
 using System.ComponentModel.DataAnnotations;
 
 namespace MvcMovie.Models
 {
  public class Movie
  {
    public int ID { get; set; }
    [StringLength(60,MinimumLength=3,ErrorMessage="主题的长度必须在3到60个字符")]
     public string Title { get; set; }
 
     [Display(Name="Release Date")]
     [DataType(DataType.Date)]
     [DisplayFormat(DataFormatString="{0:yyyy-MM-dd}",ApplyFormatInEditMode=true)]
     public DateTime ReleaseDate { get; set; }
     [RegularExpression(@"^[A-Z]+[a-zA-Z''-'s]*$")]
     [Required]
     [StringLength(30)]
     public string Genre { get; set; }
     [Range(1,100)]
     [DataType(DataType.Currency)]
     public decimal Price { get; set; }
 
     [RegularExpression(@"^[A-Z]+[a-zA-Z''-'s]*$")]
     public string Rating { get; set; }
 
 
   }
 
  public class MovieDBContext : DbContext
   {
     public DbSet<Movie> Movies { get; set; }
   }
 }

13.

DataType属性只是提示了视图引擎来格式化数据。你可以使用RegularExpression属性来验证格式化的数据,DataType不是验证属性,它和数据库差不多,只是指定了数据类型而已,DataType枚举类型,提供了很多数据类型,例如:Date,Time,PhoneNumber,Currency,EmailAddress等等,DataType属性同样能够保证程序可以创建一些特殊的类型,比如a mailto: link 能够被用来创建 DataType.EmailAddress。。。DataType不提供任何的验证。

DataType.Date 不能指定显示怎样的格式化时间。它是默认根据服务器中的时间来的。

[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
public DateTime EnrollmentDate { get; set; }

14.

当处于文本编辑模式的时候,ApplyFormatInEditMode属性就会被应用。(你可能不想让这种情况应用于货币类型的字段,因为你不想让货币类型的处于文本编辑模式下) 
这个时候,你可以用DisplayFormat,但是一个更好的主意是:使用DataType,这个属性提供了几个好处。
浏览器支持HTML5特性
浏览器默认会在你的本地电脑上面,正确显示数据

DataType属性能够保证MVC选择正确的字段,显示数据(DisplayFormat它是使用字符串模板),了解更多请看。。。。 
如果你使用了DataType属性,你不得不指定DisplayFormat属性,来确保能够在谷歌浏览器上面,正确显示数据
jQuery validation不支持Range,DateTime属性,即使你指定了特定范围,还是会报客户端的验证错误

看代码:

[Range(typeof(DateTime), "1/1/1966", "1/1/2020")]

以上就是ASP.NET MVC5添加验证的方法,希望对大家的学习有所帮助。

(编辑:应用网_阳江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读