码迷,mamicode.com
首页 > 其他好文 > 详细

自定义注解

时间:2014-12-24 17:41:33      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:

 //所有的特性必须要继承ValidationAttribute
    public class MaxWordsAttribute : ValidationAttribute
    {
        //该参数是验证条件【构造函数里面可以增加验证条件】
        private readonly int _maxWords;
        public MaxWordsAttribute(int maxWords)
            : base("{0} 输入的姓氏单词数量过大!")//提供默认的错误提示消息
        {
            _maxWords = maxWords;//显示最大单词数量
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="value">当前model某成员【属性】的值</param>
        protected override ValidationResult IsValid(object value, ValidationContext validationContext)
        {
            if (value != null)
            {
                string valueAsString = value.ToString();
                if (valueAsString.Split( ).Length > _maxWords)
                {
                    //当前model某成员的名称【即:属性名称】
                    //这种方式有利于 程序员在使用特性的时候可以自定义错误提示消息【ErroMessage=...】
                    string erroMessage = FormatErrorMessage(validationContext.DisplayName);
                    return new ValidationResult(erroMessage);
                }
            }
            //验证通过了就直接返回 ValidationResult.Success;
            return ValidationResult.Success;
        }
    }

 

自定义注解

标签:

原文地址:http://www.cnblogs.com/jcdd-4041/p/4182878.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!