【转载】model中的验证注解特性

使用数据注解创建学生信息类
本文介绍如何使用.NET框架中的数据注解(如[Display]、[Required]、[Range]等)来创建一个包含姓名、年龄、身高、生日、电话、地址、电子邮件、备用电子邮件等属性的学生信息类,并通过远程验证确保电话号码未被注册。

记得添加引用:

using System.ComponentModel.DataAnnotations;

 

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;}
}

  远程验证的通道:

public JsonResult CheckPhone(string phone)
             {
               var result= StuInfoBll.FindPhone(phone).count == 0;
               return Json(result, JsonRequestBehavior.AllowGet);
         }

转载于:https://www.cnblogs.com/guanxing6197/p/9518418.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值