Go to my github

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
    }

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/luomingui/archive/2008/09/14/2874588.aspx

posted @ 2010-02-26 13:34 罗敏贵 阅读(...) 评论(...) 编辑 收藏