示例#1
0
        public void AddValidation_adds_url_rule()
        {
            // Arrange
            var attribute = new UrlAttribute();
            var adapter   = new UrlAttributeAdapter(attribute);

            var context = new ClientModelValidationContextBuilder()
                          .WithModelType <string>()
                          .Build();

            // Act
            adapter.AddValidation(context);

            // Assert
            context.Attributes.Keys.ShouldContain("v-validate");
            context.Attributes["v-validate"].ShouldBe("{url:[true,true]}");
        }
示例#2
0
        public IAttributeAdapter GetAttributeAdapter(ValidationAttribute attribute, IStringLocalizer stringLocalizer)
        {
            if (attribute == null)
            {
                throw new ArgumentNullException(nameof(attribute));
            }

            if (_options == null)
            {
                throw new ArgumentNullException(nameof(_options));
            }

            IAttributeAdapter adapter;

            if (attribute is CompareAttribute compareAttribute)
            {
                adapter = new CompareAttributeAdapter(compareAttribute);
            }
            else if (attribute is CreditCardAttribute creditCardAttribute)
            {
                adapter = new CreditCardAttributeAdapter(creditCardAttribute);
            }
            else if (attribute is EmailAddressAttribute emailAddressAttribute)
            {
                adapter = new EmailAddressAttributeAdapter(emailAddressAttribute);
            }
            else if (attribute is FileExtensionsAttribute fileExtensionsAttribute)
            {
                adapter = new FileExtensionsAttributeAdapter(fileExtensionsAttribute);
            }
            else if (attribute is MaxLengthAttribute maxLengthAttribute)
            {
                adapter = new MaxLengthAttributeAdapter(maxLengthAttribute);
            }
            else if (attribute is MinLengthAttribute minLengthAttribute)
            {
                adapter = new MinLengthAttributeAdapter(minLengthAttribute);
            }
            else if (attribute is RangeAttribute rangeAttribute)
            {
                adapter = new RangeAttributeAdapter(rangeAttribute, _options);
            }
            else if (attribute is RegularExpressionAttribute regularExpressionAttribute)
            {
                adapter = new RegularExpressionAttributeAdapter(regularExpressionAttribute);
            }
            else if (attribute is RequiredAttribute requiredAttribute)
            {
                adapter = new RequiredAttributeAdapter(requiredAttribute);
            }
            else if (attribute is StringLengthAttribute stringLengthAttribute)
            {
                adapter = new StringLengthAttributeAdapter(stringLengthAttribute);
            }
            else if (attribute is UrlAttribute urlAttribute)
            {
                adapter = new UrlAttributeAdapter(urlAttribute);
            }
            else
            {
                adapter = null;
            }

            return(adapter);
        }