WPF之DataAnnotations 注解说明

参考:https://www.cnblogs.com/yaosuc/p/4527886.html

1、基础验证:

using System.ComponentModel.DataAnnotations;

//字段显示名称
[Display(Name = "用户名")]

//数据类型(比如生成的文本框的类型)
[DataType(DataType.Password)]

//非空验证
[Required(ErrorMessage = "*")]

//字符长度验证
[StringLength(50, ErrorMessage = "字符长度应在6-50之间", MinimumLength = 6)]

//验证范围
[Range(10, 120, ErrorMessage = "年龄应在10-120之间")]

//正则表达式验证
[RegularExpression(@"[A-Za-z0-9._%+-]+@[A-Za-z0-9._]+\.[A-Za-z]{2,4}", ErrorMessage = "邮箱格式不正确")]

//邮箱格式验证
[EmailAddress(ErrorMessage = "邮箱格式不正确")]

//WPF 下好像不支持
//比较验证
[Compare("Password", ErrorMessage = "密码不一致")]
 public string PasswordConfirm { get; set; }

其中:ErrorMessage里面是自定义错误信息,如果不加这个属性,将显示系统默认的提示错误信息(系统提示比较生硬可能),一般都加上这个属性。 

     ErrorMessage允许开发者使用{0}占位符来显示字段的显示名(即[Display(Name = "用户名")]),如果没有Display特性,那么会显示属性名。如:

[Required(ErrorMessage = "{0}不能为空!")]
[Display(Name = "用户名")]
public string UserName { get; set; }    

 如果验证的特性中还有其他参数,那么ErrorMessage可以用占位符直接显示其他参数,如:

[Required]
[StringLength(100, ErrorMessage = "请输入{2}到{1}位的{0}。", MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "密码")]
public string Password { get; set; }
//系统会提示:“请输入6到100位的密码”。

 

posted @ 2018-04-27 15:47  流浪者的飘  阅读(554)  评论(0编辑  收藏  举报