- A+
所属分类:.NET技术
介绍
Validate.Net将Validate.js移植到.Net平台,可以更方便、更快捷的校验实体内属性值是否合法。内置多种常规数据校验规则(校验必填、校验字符串长度区间、校验最大最小值、校验值区间、校验最大最小长度、校验长度区间、Email、邮编、url、正整数、负整数、非正整数、非负整数、ip地址、qq、身份证号码、统一社会信用代码),支持自定义正则校验、方法重写等扩展校验。是做后端开发的必备利器。
软件架构
.netframework4.5以上、反射、特性
安装教程
1. 项目中引用:Validate.Net.dll(文件在目录Validate.NetbinRelease下);
点击下载该Validate.Net.dll 提取码 nloo
2. 导入命名空间:using Validate.Net;
3. gitee地址 https://gitee.com/lkings/Validate.Net
4. 后续将支持nuget安装
使用说明
实体类示例代码:
public class UserModel { /// <summary> /// 校验必填,如果添加特性[Describe],则校验该属性不合法时 /// 错误提示信息则是:属性:密码,值:xxxx, 不正确,而不是属性:Password,值:xxxx 不正确 /// </summary> [ValidateRequired] [Describe("密码")] public string Password { get; set; } /// <summary> /// 校验字符串长度区间 /// </summary> [ValidateRangeLength(6, 20)] [Describe("用户账户")] public string Account { get; set; } /// <summary> /// 校验字母,只能包含字母 /// </summary> [ValidateLetter] public string Letter { get; set; } /// <summary> /// 校验最大值 /// </summary> [ValidateMaxValue(20)] public int Age { get; set; } /// <summary> /// 校验最小值 /// </summary> [ValidateMinValue(5)] public int MinLong { get; set; } /// <summary> /// 校验值区间 /// </summary> [ValidateRangeValue(10,20)] public int AgeRange { get; set; } /// <summary> /// 校验最大长度 /// </summary> [ValidateMaxLength(20)] public string MaxLength { get; set; } /// <summary> /// 校验最小长度 /// </summary> [ValidateMinLength(5)] public string MinLength { get; set; } /// <summary> /// 校验Email /// </summary> [ValidateEmail] public string Email { get; set; } /// <summary> /// 校验邮编 /// </summary> [ValidateZipCode] public string ZipCode { get; set; } /// <summary> /// 校验包含中文 /// </summary> [ValidateChinese] public string Chinese { get; set; } /// <summary> /// 校验负整数 /// </summary> [ValidateNegtiveInt] public int NegtiveInt { get; set; } /// <summary> /// 校验正整数 /// </summary> [ValidatePositiveInt] public int PositiveInt { get; set; } /// <summary> /// 校验非负整数 /// </summary> [ValidateNonnegativeInt] public double NonnegativeInt { get; set; } /// <summary> /// 校验非正整数 /// </summary> [ValidateNonpositiveInt] public double NonpositiveInt { get; set; } /// <summary> /// 校验ip地址 /// </summary> [ValidateIp] public string Ip { get; set; } /// <summary> /// 校验url /// </summary> [ValidateUrl] public string url { get; set; } /// <summary> /// 校验qq号 /// </summary> [ValidateQQ] public string QQ { get; set; } /// <summary> /// 自定义正则校验,特性[ValidateRegular]为自定义正则表达式校验 /// 第一个参数为您的正则表达式,第二个参数为自定义校验不合法时的提示信息 /// </summary> [ValidateRegular("^[0-9]{6}$", "邮编格式校验失败(自定义)")] public string CustomStr { get; set; } /// <summary> /// 校验身份证(15位身份证号,和18位身份证号) /// </summary> [ValidateIDCard] public string IDCard { get; set; } /// <summary> /// 校验统一社会信用代码 /// </summary> [ValidateSocialCreditCode] public string SocialCreditCode { get; set; } /// <summary> /// 一般密码校验(包含数字和字母及常规特殊符号) /// </summary> [ValidatePwd] public string Pwd { get; set; } }
调用示例
static void Main(string[] args) { UserModel user = new UserModel() { Account = "1000", Password = "", Email = "77111.cn", ZipCode = "6572151", Chinese = "wjl", NegtiveInt = 1, PositiveInt= -2, Ip = "192.0.0.256", url = "https://www.baidu.com", CustomStr = "657215@", MaxLength = null, Age = 100, Letter = "www", MinLong = 0, AgeRange = 0, MinLength = "123456", QQ = "13155654521", IDCard = "2102111972110408721", SocialCreditCode = "91350500611880326T", Pwd = "wjl1345", NonpositiveInt = -66.1, NonnegativeInt = 66.1, }; if (!user.Validate<UserModel>(out List<string> errorList)) { foreach (string error in errorList) { Console.WriteLine($"{error}rn"); } } Console.ReadLine(); }
执行结果
属性:密码 - 值: 错误信息: 校验必填项失败
属性:用户账户 - 值:1000 错误信息: 长度范围为:[6—20]
属性:Age - 值:100 错误信息: 最大值为:20
属性:MinLong - 值:0 错误信息: 最小值为:5
属性:AgeRange - 值:0 错误信息: 值范围为:[10—20]
属性:Email - 值:77111.cn 错误信息: 邮箱格式校验失败
属性:ZipCode - 值:6572151 错误信息: 邮政编码格式校验失败
属性:Chinese - 值:wjl 错误信息: 中文校验失败(必须包含中文)
属性:NegtiveInt - 值:1 错误信息: 负整数校验失败
属性:PositiveInt - 值:-2 错误信息: 正整数校验失败
属性:Ip - 值:192.0.0.256 错误信息: 校验ip失败
属性:CustomStr - 值:657215@ 错误信息: 邮编格式校验失败(自定义)
属性:IDCard - 值:2102111972110408721 错误信息: 校验身份证合法性失败
属性:Pwd - 值:wjl1345 错误信息: 一般密码校验失败(包含数字和字母及常规特殊符号)