# Validate.Net
**Repository Path**: 2012120823/Validate.Net
## Basic Information
- **Project Name**: Validate.Net
- **Description**: Validate.Net是借助Validate.js的思想开发的一套.Net服务端数据校验插件,可以更方便高效的校验实体内的属性值是否合法。内置多种常规数据校验规则(必填、字符串长度区间、字符串最大最小长度、最大最小值、值区间、Email、邮编、url、正整数、负整数、非正整数、非负整数、ip地址、qq、身份证号码、统一社会信用代码,常规密码)。支持自定义正则校验、方法重写等扩展校验。是做后端开发的必备利器。
- **Primary Language**: C#
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: https://gitee.com/lkings/Validate.Net
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 3
- **Created**: 2020-09-21
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Validate.Net
#### 介绍
Validate.Net是借助Validate.js的思想开发的一套.Net服务端数据校验插件,可以更方便高效的校验实体内的属性值是否合法。内置多种常规数据校验规则(必填、字符串长度区间、字符串最大最小长度、最大最小值、值区间、Email、邮编、url、正整数、负整数、非正整数、非负整数、ip地址、qq、身份证号码、统一社会信用代码,常规密码)。支持自定义正则校验、方法重写等扩展校验。是做后端开发的必备利器。
#### 软件架构
NF4.0+
#### 安装教程
1. 项目中引用:Validate.Net.dll(文件在目录Validate.Net\bin\Release\下);
2. 导入命名空间:using Validate.Net;
#### 使用说明
#### 实体类示例代码:
public class UserModel
{
///
/// 校验必填
///
[ValidateRequired]
[Describe("密码")]
public string Password { get; set; }
///
/// 校验字符串长度区间
///
[ValidateRangeLength(6, 20)]
[Describe("用户账户")]
public string Account { get; set; }
///
/// 校验字母,只能包含字母
///
[ValidateLetter]
public string Letter { get; set; }
///
/// 校验最大值
///
[ValidateMaxValue(20)]
public int Age { get; set; }
///
/// 校验最小值
///
[ValidateMinValue(5)]
public int MinLong { get; set; }
///
/// 校验值区间
///
[ValidateRangeValue(10,20)]
public int AgeRange { get; set; }
///
/// 校验最大长度
///
[ValidateMaxLength(20)]
public string MaxLength { get; set; }
///
/// 校验最小长度
///
[ValidateMinLength(5)]
public string MinLength { get; set; }
///
/// 校验Email
///
[ValidateEmail]
public string Email { get; set; }
///
/// 校验邮编
///
[ValidateZipCode]
public string ZipCode { get; set; }
///
/// 校验包含中文
///
[ValidateChinese]
public string Chinese { get; set; }
///
/// 校验负整数
///
[ValidateNegtiveInt]
public int NegtiveInt { get; set; }
///
/// 校验正整数
///
[ValidatePositiveInt]
public int PositiveInt { get; set; }
///
/// 校验非负整数
///
[ValidateNonnegativeInt]
public double NonnegativeInt { get; set; }
///
/// 校验非正整数
///
[ValidateNonpositiveInt]
public double NonpositiveInt { get; set; }
///
/// 校验ip地址
///
[ValidateIp]
public string Ip { get; set; }
///
/// 校验url
///
[ValidateUrl]
public string url { get; set; }
///
/// 校验qq号
///
[ValidateQQ]
public string QQ { get; set; }
///
/// 自定义正则校验、自定义校验失败提示信息
///
[ValidateRegular("^[0-9]{6}$", "邮编格式校验失败(自定义)")]
public string CustomStr { get; set; }
///
/// 校验身份证(15位身份证号,和18位身份证号)
///
[ValidateIDCard]
public string IDCard { get; set; }
///
/// 校验统一社会信用代码
///
[ValidateSocialCreditCode]
public string SocialCreditCode { get; set; }
///
/// 一般密码校验(包含数字和字母及常规特殊符号)
///
[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(out List errorList))
{
foreach (string error in errorList)
{
Console.WriteLine($"{error}\r\n");
}
}
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 错误信息: 一般密码校验失败(包含数字和字母及常规特殊符号)
#### 我的博客园地址
https://www.cnblogs.com/netlws/
#### gitee地址
https://gitee.com/lkings/Validate.Net#validatenet