• 自定义注解


     //所有的特性必须要继承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;
            }
        }
  • 相关阅读:
    scan chain的原理和实现——3.Tester Timing
    pattern——serial/paralel
    Scan and ATPG (Tessent)----1.基础概念
    ipdb介绍及Tensor
    pytorch简介
    Python 之map、filter、reduce
    分类器、logistic回归
    机器学习方法、距离度量、K_Means
    动态规划、图
    T分布
  • 原文地址:https://www.cnblogs.com/jcdd-4041/p/4182878.html
Copyright © 2020-2023  润新知