public void Validate_Throws_Exception_For_Invalid_Value()
        {
            var valdator = new RegexValidatorAttribute("aaabbbccc");

            string value;
            valdator.Validate("the number twelve", "testing", null, out value);
        }
        public void Validate_Allows_Valid_Value()
        {
            var valdator = new RegexValidatorAttribute("aaabbbccc");

            string value;
            valdator.Validate("aaabbbccc", "testing", null, out value);
        }
Exemple #3
0
        public void Validate_Throws_Exception_For_Invalid_Value()
        {
            var valdator = new RegexValidatorAttribute("aaabbbccc");

            string value;

            valdator.Validate("the number twelve", "testing", null, out value);
        }
Exemple #4
0
        public void Validate_Allows_Valid_Value()
        {
            var valdator = new RegexValidatorAttribute("aaabbbccc");

            string value;

            valdator.Validate("aaabbbccc", "testing", null, out value);
        }
Exemple #5
0
        public void CanUseAttributeAsValidationAttributeForValidValue()
        {
            ValidationAttribute attribute =
                new RegexValidatorAttribute("^a*$")
            {
                MessageTemplate = "template {1}"
            };

            Assert.IsTrue(attribute.IsValid("aaaaaaaaaa"));
        }
Exemple #6
0
        public void ValidatingWithValidatorAttributeWithARulesetSkipsValidation()
        {
            ValidationAttribute attribute =
                new RegexValidatorAttribute("^a*$")
            {
                MessageTemplate = "template {1}",
                Ruleset         = "some ruleset"
            };

            Assert.IsTrue(attribute.IsValid("bbbbbb"));
        }
Exemple #7
0
        public void CanUseAttributeAsValidationAttribute()
        {
            ValidationAttribute attribute =
                new RegexValidatorAttribute("^a*$")
            {
                MessageTemplate = "template {1}"
            };

            Assert.IsFalse(attribute.IsValid("bbbbbb"));
            Assert.AreEqual("template name", attribute.FormatErrorMessage("name"));
        }
Exemple #8
0
        public void AttributeWithPatternAndOptionsCreatesValidatorWithPatternDefaultMessageAndOptions()
        {
            ValidatorAttribute attribute = new RegexValidatorAttribute("pattern", RegexOptions.Multiline);

            Validator validator = ((IValidatorDescriptor)attribute).CreateValidator(null, null, null, null);

            Assert.IsNotNull(validator);

            RegexValidator regexValidator = validator as RegexValidator;

            Assert.IsNotNull(regexValidator);

            Assert.AreEqual("pattern", regexValidator.Pattern);
            Assert.AreEqual(RegexOptions.Multiline, regexValidator.Options.Value);
            Assert.AreEqual(Resources.RegexValidatorNonNegatedDefaultMessageTemplate, regexValidator.MessageTemplate);
            Assert.AreEqual(false, regexValidator.Negated);
        }
Exemple #9
0
        /// <summary>
        /// Gets the validator.
        /// </summary>
        /// <param name="control">The control.</param>
        /// <param name="attr">The attr.</param>
        /// <returns></returns>
        private static IValidatorCreator GetValidator(Control control, ValidatorAttribute attr)
        {
            RequiredValidatorAttribute reqAttr = attr as RequiredValidatorAttribute;

            if (reqAttr != null)
            {
                return(new RequiredValidatorCreator(reqAttr, control));
            }

            LengthValidatorAttribute lengthAttr = attr as LengthValidatorAttribute;

            if (lengthAttr != null)
            {
                return(new LengthValidatorCreator(lengthAttr, control));
            }

            RangeValidatorAttribute rangeAttr = attr as RangeValidatorAttribute;

            if (rangeAttr != null)
            {
                return(new RangeValidatorCreator(rangeAttr, control));
            }

            RegexValidatorAttribute regexAttr = attr as RegexValidatorAttribute;

            if (regexAttr != null)
            {
                return(new RegexValidatorCreator(regexAttr, control));
            }

            CompareValidatorAttribute compareAttr = attr as CompareValidatorAttribute;

            if (compareAttr != null)
            {
                return(new CompareValidatorCreator(compareAttr, control));
            }

            if (attr is CustomValidatorAttribute)
            {
                return(null);
            }

            throw new ArgumentException("The attribute does not derive from ValidatorAttribute.", "attr");
        }
Exemple #10
0
        public void AttributeWithPatternCreatesValidatorWithPatternDefaultMessageAndNoneOptionsAndNegated()
        {
            ValueValidatorAttribute attribute = new RegexValidatorAttribute("pattern");

            attribute.Negated = true;

            Validator validator = ((IValidatorDescriptor)attribute).CreateValidator(null, null, null, null);

            Assert.IsNotNull(validator);

            RegexValidator regexValidator = validator as RegexValidator;

            Assert.IsNotNull(regexValidator);

            Assert.AreEqual("pattern", regexValidator.Pattern);
            Assert.AreEqual(RegexOptions.None, regexValidator.Options);
            Assert.AreEqual(Resources.RegexValidatorNegatedDefaultMessageTemplate, regexValidator.MessageTemplate);
            Assert.AreEqual(true, regexValidator.Negated);
        }
Exemple #11
0
        public void AttributeWithResourcePatternCreatesValidatorWithPatternDefaultMessageAndNoneOptions()
        {
            ValidatorAttribute attribute = new RegexValidatorAttribute(RegexResourceName1, typeof(Properties.Resources));

            Validator validator = ((IValidatorDescriptor)attribute).CreateValidator(null, null, null, null);

            Assert.IsNotNull(validator);

            RegexValidator regexValidator = validator as RegexValidator;

            Assert.IsNotNull(regexValidator);

            Assert.AreEqual(null, regexValidator.Pattern);
            Assert.AreEqual(RegexOptions.None, regexValidator.Options);
            Assert.AreEqual(Resources.RegexValidatorNonNegatedDefaultMessageTemplate, regexValidator.MessageTemplate);
            Assert.AreEqual(RegexResourceName1, regexValidator.PatternResourceName);
            Assert.AreEqual(typeof(Properties.Resources), regexValidator.PatternResourceType);
            Assert.AreEqual(false, regexValidator.Negated);
        }
Exemple #12
0
        public void AttributeWithPatternOptionsAndMessageOverrideCreatesValidatorWithPatternOverridenMessageAndOptions()
        {
            ValidatorAttribute attribute = new RegexValidatorAttribute("pattern", RegexOptions.Multiline);

            attribute.MessageTemplate = "overriden message template";

            Validator validator = ((IValidatorDescriptor)attribute).CreateValidator(null, null, null, null);

            Assert.IsNotNull(validator);

            RegexValidator regexValidator = validator as RegexValidator;

            Assert.IsNotNull(regexValidator);

            Assert.AreEqual("pattern", regexValidator.Pattern);
            Assert.AreEqual(RegexOptions.Multiline, regexValidator.Options.Value);
            Assert.AreEqual("overriden message template", regexValidator.MessageTemplate);
            Assert.AreEqual(false, regexValidator.Negated);
        }
Exemple #13
0
        public void AttributeWithResourcePatternAndOptionsAndMessageTemplateCreatesValidator()
        {
            ValidatorAttribute attribute = new RegexValidatorAttribute(RegexResourceName1, typeof(Properties.Resources), RegexOptions.Multiline);

            attribute.MessageTemplate = "overriden message template";

            Validator validator = ((IValidatorDescriptor)attribute).CreateValidator(null, null, null, null);

            Assert.IsNotNull(validator);

            RegexValidator regexValidator = validator as RegexValidator;

            Assert.IsNotNull(regexValidator);

            Assert.AreEqual(null, regexValidator.Pattern);
            Assert.AreEqual(RegexOptions.Multiline, regexValidator.Options);
            Assert.AreEqual("overriden message template", regexValidator.MessageTemplate);
            Assert.AreEqual(RegexResourceName1, regexValidator.PatternResourceName);
            Assert.AreEqual(typeof(Properties.Resources), regexValidator.PatternResourceType);
            Assert.AreEqual(false, regexValidator.Negated);
        }
Exemple #14
0
        public void AttributeWithResourcePatternAndOptionsAndNegatedCreatesValidator()
        {
            ValueValidatorAttribute attribute = new RegexValidatorAttribute(RegexResourceName1, typeof(TestProperties.Resources), RegexOptions.Multiline);

            attribute.Negated = true;

            Validator validator = ((IValidatorDescriptor)attribute).CreateValidator(null, null, null);

            Assert.IsNotNull(validator);

            RegexValidator regexValidator = validator as RegexValidator;

            Assert.IsNotNull(regexValidator);

            Assert.AreEqual(null, regexValidator.Pattern);
            Assert.AreEqual(RegexOptions.Multiline, regexValidator.Options);
            Assert.AreEqual(Resources.RegexValidatorNegatedDefaultMessageTemplate, regexValidator.MessageTemplate);
            Assert.AreEqual(RegexResourceName1, regexValidator.PatternResourceName);
            Assert.AreEqual(typeof(TestProperties.Resources), regexValidator.PatternResourceType);
            Assert.AreEqual(true, regexValidator.Negated);
        }
Exemple #15
0
        public void AttributeWithResourcePatternAndMessageTemplateAndNegatedCreatesValidatorWithPatternDefaultMessageAndNoneOptions()
        {
            ValueValidatorAttribute attribute = new RegexValidatorAttribute(RegexResourceName1, typeof(TestProperties.Resources));

            attribute.Negated         = true;
            attribute.MessageTemplate = "overriden message template";

            Validator validator = ((IValidatorDescriptor)attribute).CreateValidator(null, null, null);

            Assert.IsNotNull(validator);

            RegexValidator regexValidator = validator as RegexValidator;

            Assert.IsNotNull(regexValidator);

            Assert.AreEqual(null, regexValidator.Pattern);
            Assert.AreEqual(RegexOptions.None, regexValidator.Options);
            Assert.AreEqual("overriden message template", regexValidator.MessageTemplate);
            Assert.AreEqual(RegexResourceName1, regexValidator.PatternResourceName);
            Assert.AreEqual(typeof(TestProperties.Resources), regexValidator.PatternResourceType);
            Assert.AreEqual(true, regexValidator.Negated);
        }