前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Validate.Net

Validate.Net

作者头像
指尖改变世界
发布2020-08-02 18:02:04
6400
发布2020-08-02 18:02:04
举报
文章被收录于专栏:vuevue

# Validate.Net

#### 介绍

Validate.Net将Validate.js移植到.Net平台,可以更方便、更快捷的校验实体内属性值是否合法。

内置多种常规数据校验规则(校验必填、校验字符串长度区间、校验最大最小值、校验值区间、校验最大最小长度、校验长度区间、

Email、邮编、url、正整数、负整数、非正整数、非负整数、ip地址、qq、身份证号码、统一社会信用代码

),支持自定义正则校验、方法重写等扩展校验。是做后端开发的必备利器。

#### 软件架构

ef4.5+、反射、特性

#### 安装教程

1. 项目中引用:Validate.Net.dll(文件在目录Validate.Net\bin\Release\下);

2. 导入命名空间:using Validate.Net;

3. gitee地址 https://gitee.com/lkings/Validate.Net

4. 后续将支持nuget安装

#### 使用说明

####  实体类示例代码:

    public class UserModel

    {

        /// <summary>

        /// 校验必填

        /// </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>

        /// 自定义正则校验、自定义校验失败提示信息

        /// </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}\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  错误信息:  一般密码校验失败(包含数字和字母及常规特殊符号)

#### gitee地址

https://gitee.com/lkings/Validate.Net

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-08-02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • # Validate.Net
  • #### 介绍
  • #### 软件架构
  • #### 安装教程
  • ####  实体类示例代码:
  • #### 调用示例
  • #### 执行结果
  • #### gitee地址
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档