zoukankan      html  css  js  c++  java
  • 自定义注解

     //所有的特性必须要继承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;
            }
        }
  • 相关阅读:
    oracle使用expdp备份数据库
    用Setuptools构建和分发程序包
    C#5.0-原生异步编程方式
    任务并行库
    线程-线程池1
    多线程-3(同步)
    多线程-2(线程同步)
    线程---1
    高性能-GC3
    高性能-GC2
  • 原文地址:https://www.cnblogs.com/jcdd-4041/p/4182878.html
Copyright © 2011-2022 走看看