zoukankan      html  css  js  c++  java
  • MVC数据校验demo【转载】

    在传统的asp.net开发中,数据的验证一直是个火热的话题,无论是客户端进行验证还是服务器进行验证,通常我们都会为了一个简单的业务而要去写非常复杂的验证方法。在MVC中,MVC为我们提供了各种数据注解和数据验证的特性,很方便的让我们能实现数据验证这一繁琐的工作,以下是我整理的常见的数据注解和验证的DOME!注:自定义验证特性并未写在此篇中!

    model中的验证注解特性:

    public class StuInfo
        {
            public int ID { get; set;}
     
            [Display(Name = "姓名")]    //设置要显示的字段名
            [Required(ErrorMessage = "您需要填写{0}")]  //设置为必须字段 已经错误提示
            [StringLength(50, MinimumLength = 3)]     //设置最大长度和最小长度
            public string Name { get; set;}
     
            [Display(Name = "年龄")]
            [Range(1, 150, ErrorMessage = "年龄填写不正确!")]  //设置 值范围
            public int Age { get; set;}
     
            [Display(Name = "身高")]
            [Range(typeof(decimal),"50.00", "250.00",ErrorMessage = "身高超出指定范围")]
            public decimal Height { get; set;}
     
            [Display(Name = "生日")]
            [DataType(DataType.Date,ErrorMessage = "{0}格式不正确")]  //设置数据类型以及错误提示
            public DateTime Birthday { get; set;}
     
            [Display(Name = "电话")]
            [Remote("CheckPhone","StuInfo", ErrorMessage = "{0}已被注册")]   //在指定的Conteroller中的通道(route)中验证数据
            public string Phone { get; set;}
     
            [Display(Name = "地址")]
            [DataType(DataType.MultilineText)]
            public string Address { get; set;}
     
            [Display(Name = "电子邮箱")]
            [RegularExpression(@"(w)+(.w+)*@(w)+((.w+)+)",ErrorMessage = "{0}格式不正确")]  //正则验证
            public string Email { get; set;}
     
            [Display(Name = "再次输入电子邮箱")]
            [Compare("Email",ErrorMessage = "{0}两次输入不一致")]   //设置比较两个字段的值
            public string EmailConfirm { get; set;}
     
            [Display(Name = "密码")]
            [DataType(DataType.Password)]
            public string Password { get; set;}
     
            [Display(Name = "备用电子邮箱")]
            [DataType(DataType.EmailAddress,ErrorMessage = "{0}格式不正确")]
            public string email_B { get; set;}
    }
  • 相关阅读:
    POJ-3468 A Simple Problem with Integers(线段树、段变化+段查询、模板)
    CSUOJ-1978 LXX的图论题(最短路、Bellman-Ford判断负圈)
    CSU-1975 机器人搬重物(BFS)
    POJ-3522 Slim Span(最小生成树)
    POJ-1733 Parity game (并查集)
    libmysqlclient.so.16未找到方法
    python 不同目录间的模块调用
    python模块详解 logging
    python模块详解 re
    python模块详解 hashlib
  • 原文地址:https://www.cnblogs.com/baibjq/p/4500112.html
Copyright © 2011-2022 走看看