zoukankan      html  css  js  c++  java
  • C#:实体类中做数据验证

    主要是在实体类中验证

    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
        }

  • 相关阅读:
    结巴分词 0.14 版发布,Python 中文分词库
    Lazarus 1.0.2 发布,Pascal 集成开发环境
    Android全屏 去除标题栏和状态栏
    服务器日志现 Android 4.2 传将添多项新特性
    Percona XtraBackup 2.0.3 发布
    长平狐 Android 强制设置横屏或竖屏 设置全屏
    NetBeans 7.3 Beta 发布,全新的 HTML5 支持
    CppDepend现在已经支持Linux
    GromJS 1.7.18 发布,服务器端的 JavaScript
    Apache OpenWebBeans 1.1.6 发布
  • 原文地址:https://www.cnblogs.com/Alex80/p/4372968.html
Copyright © 2011-2022 走看看