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
        }

  • 相关阅读:
    python 面向对象编程
    用python写个快排
    函数(参数,作用域,返回函数,匿名函数,偏函数)
    SpringBoot学习4:springboot整合listener
    SpringBoot学习1:创建第一个SpringBoot项目
    SpringBoot学习2:springboot整合servlet
    SpringBoot学习3:springboot整合filter
    使用FreeMarker导出word文档(支持导出图片)
    MySQL中实现递归查询
    MySQL中find_in_set()函数的使用
  • 原文地址:https://www.cnblogs.com/Alex80/p/4372968.html
Copyright © 2011-2022 走看看