主要是在实体类中验证

using System;

namespace Jone.Function.attribute
{
        /// <summary>
        /// 附加在数据实体用于描述如何验证合法性
        /// </summary>
        [AttributeUsage(AttributeTargets.Field | AttributeTargets.Property, AllowMultiple = false, Inherited = true)]
        public sealed class ValidateAttribute : Attribute
        {
            private bool _allowNull = true;
            private string _regEx;
            private string _description;
            private string _ValidateType;
            private string _instruction;

#region 方法
            public ValidateAttribute()
            {
            }
            public ValidateAttribute(bool AllowNull)
            {
                _allowNull = AllowNull;
            }
            public ValidateAttribute(bool AllowNull, string ValidateType)
            {
                _allowNull = AllowNull;
                _ValidateType = ValidateType;
            }
            #endregion

#region 属性
            /// <summary>
            /// 描述
            /// </summary>
            public string Description
            {
                get { return _description; }
                set { _description = value; }
            }
            /// <summary>
            /// 验证类型
            /// </summary>
            public string ValidateType
            {
                get
                {
                    return _ValidateType;
                }
                set
                {
                    _ValidateType = value;
                }
            }

/// <summary>
            /// 是否可以空
            /// </summary>
            public bool AllowNull
            {
                get
                {
                    return _allowNull;
                }
                set
                {
                    _allowNull = value;
                }
            }
            /// <summary>
            /// 用于验证的正则表达式
            /// </summary>
            public string RegEx
            {
                get
                {
                    return _regEx;
                }
                set
                {
                    _regEx = value;
                }
            }

/// <summary>
            /// 对于正确格式的描述
            /// </summary>
            public string Instruction
            {
                get
                {
                    return _instruction;
                }
                set
                {
                    _instruction = value;
                }
            }
            #endregion
        }

#region 使用示例
        //public class 使用示例
        //{
        //    public 使用示例()
        //    {

//    }
        //    private int _id;
        //    private string _name;
        //    //[Validate(RegEx = "^\\d{17}(http://www.cnblogs.com/luomingui/admin/file:///d|x)$", Description = "身份证号码")]
        //    [Validate(RegEx = "", Description = "")]
        //    public int id
        //    {
        //        set { _id = value; }
        //        get { return _id; }
        //    }
        //    [Validate(AllowNull = false, Description = "姓名")]
        //    public string name
        //    {
        //        set { _name = value; }
        //        get { return _name; }
        //    }
        //}
        #endregion
    }

C#:实体类中做数据验证的更多相关文章

  1. Mybatis中实体类属性和数据列之间映射的四种办法

    http://blog.csdn.net/lmy86263/article/details/53150091 Mybatis不像hibernate中那么自动化,通过@Column注解或者直接使用实体类 ...

  2. ASP.NET实现二维码 ASP.Net上传文件 SQL基础语法 C# 动态创建数据库三(MySQL) Net Core 实现谷歌翻译ApI 免费版 C#发布和调试WebService ajax调用WebService实现数据库操作 C# 实体类转json数据过滤掉字段为null的字段

    ASP.NET实现二维码 using System;using System.Collections.Generic;using System.Drawing;using System.Linq;us ...

  3. Java中的数据验证

    原文链接:https://www.cuba-platform.com/blog/2018-10-09/945 翻译:CUBA China CUBA-Platform 官网 : https://www. ...

  4. 基于MVC4+EasyUI的Web开发框架经验总结(3)- 使用Json实体类构建菜单数据

    最近花了不少时间在重构和进一步提炼我的Web开发框架上,力求在用户体验和界面设计方面,和Winform开发框架保持一致,而在Web上,我主要采用EasyUI的前端界面处理技术,走MVC的技术路线,在重 ...

  5. WPF中的数据验证

    数据验证 WPF的Binding使得数据能够在数据源和目标之间流通,在数据流通的中间,便能够对数据做一些处理. 数据转换和数据验证便是在数据从源到目标 or 从目标到源 的时候对数据的验证和转换. V ...

  6. 使用Json实体类构建菜单数据

    基于MVC4+EasyUI的Web开发框架经验总结(3)- 使用Json实体类构建菜单数据 最近花了不少时间在重构和进一步提炼我的Web开发框架上,力求在用户体验和界面设计方面,和Winform开发框 ...

  7. 读取Excel文件存储在实体类中

    1.Maven文件 <!--读取Excel的架包--> <dependency> <groupId>org.apache.poi</groupId> & ...

  8. (转)基于MVC4+EasyUI的Web开发框架经验总结(3)- 使用Json实体类构建菜单数据

    http://www.cnblogs.com/wuhuacong/p/3669708.html 最近花了不少时间在重构和进一步提炼我的Web开发框架上,力求在用户体验和界面设计方面,和Winform开 ...

  9. 当实体类中entity/DTO/VO等类中,有枚举值,应该怎么输出?

    当实体类中entity/DTO/VO等类中,有枚举值,应该怎么输出? 问题: orderStatus 和 payStatus都是枚举类,并且枚举的个数达地10来个,我们不可能在模板页面(jsp/ftl ...

随机推荐

  1. json字符串转JSONObject,输出JSONObject问题

    json架包:json-lib-2.4-jdk15.jar json字符串(存在null值)转JSONObject 后return JSONObject对象的时候会报错 例如: String str= ...

  2. D3序

    最近做公司的APM项目涉及到数据可视化,简单调研了一下目前业内推崇的工具,自然最终选择是非D3莫属,特别是看了官网上那些绝妙的示例之后,感觉这玩意儿炫到爆!选择D3最重要的一点是D3提供基础的必要的功 ...

  3. 安装Debian 7.8 过程,以及该系统的配置过程

    最近,我给自己的电脑安装了Debian操作系统,版本7.8 stable.Debian我相信大家都能了解,它是Ubuntu的基础,Ubuntu是基于Debian的unstable开发的.我安装这个系统 ...

  4. RX学习笔记:JavaScript数组操作

    RX学习笔记:JavaScript数组操作 2016-07-03 增删元素 unshift() 在数组开关添加元素 array.unshift("value"); array.un ...

  5. PHP5.3后在本机运行很慢的解决方法

    方法一:这是因为PHP 5.3在面对数据库配置信息中的“localhost”会犹豫,因此直接把这个地址改名为“127.0.0.1”,这个IP是IPv4下面的本地网络地址,实际作用和“localhost ...

  6. mysql用户管理,权限管理

    mysql权限 相关操作: 授予的权限分为四组: 列权限:和表中的一个具体列相关,例如:使用update 语句更新test表中name 列的值 表权限:和一个具体的表的所有数据相关,例如:使用 sel ...

  7. 如何更改Chrome默认的搜索引擎

    1 打开Chrome浏览器之后,点击窗口右上角的图标,在弹出的菜单中点击设置,如图所示: 2  在打开的窗口中,点击管理搜索引擎,如下图所示: 3 在弹出的窗口中,找到百度的搜索引擎或者bing的搜索 ...

  8. (转)互联网协议入门 ------ HTTP(1)

    作者:阮一峰 原文:http://www.ruanyifeng.com/blog/2012/06/internet_protocol_suite_part_ii.html 我们每天使用互联网,你是否想 ...

  9. Oracle RAC备份异机单实例恢复演练

    本文只节选了操作方案的部分章节: 3.   操作步骤 3.1. 异机单实例Oracle数据库软件安装 在异机上进行单实例Oracle数据库软件安装.该步骤过程不再本文中重复描述,如果对安装过程存在疑问 ...

  10. C# zip/unzip with DotNet framework 4.5

    add reference System.IO.Compression.FileSystem public class ZipHelper { public static string UnZip(s ...