zoukankan      html  css  js  c++  java
  • 使用Microsoft.Practices.EnterpriseLibrary.Validation.dll验证类成员

    public class MyClass
    
    {
    
        [StringLengthValidator(1, 32, MessageTemplate = "MyValue is too long", Ruleset = "MyRules")]
        [MyValidator(MessageTemplate="MyValue is invalid", Ruleset = "MyRules")]
    
        public string MyValue {get;set;}
    
        public ValidationResults Validate()
        {
                Validator<MyClass> myValidator = ValidationFactory.CreateValidator<MyClass>("MyRules");
                ValidationResults custResults = myValidator.Validate(this);
                return custResults;
        }
    }
        [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)]
        public class MyValidatorAttribute : ValidatorAttribute
        {
            protected override Validator DoCreateValidator(Type targetType)
            {
                return new MyValidator(Tag);
            }
        }
        
        public class MyValidator:Validator<string>
        {
            public MyValidator(string tag) : base(string.Empty, tag) { }
            
            private bool IsValid(string text)
            {
                return false;
            }
            
            protected override void DoValidate(string objectToValidate, object currentTarget, string key, ValidationResults validationResults)
            {
                if (string.IsNullOrEmpty(objectToValidate))
                    return;
                if (IsValid(objectToValidate))//cc is found
                {
                    LogValidationResult(validationResults, GetMessage(objectToValidate,key), currentTarget, key);
                }
            }
    
            protected override string DefaultMessageTemplate
            {
                get { return "Validation failed"; }
            }
        }
  • 相关阅读:
    如何给发票抬头增加页签
    记录激活SAP SMTP服务过程
    反射
    乱码问题
    使用idea的常用的技巧
    解决double的值相加的问题
    代理模式之静态代理
    foreach的真面目
    记录java的面试的每一个瞬间
    变量的经典
  • 原文地址:https://www.cnblogs.com/sungang3225/p/7566037.html
Copyright © 2011-2022 走看看