예제 #1
0
        public void ValidateFieldNamesTest()
        {
            EntityChangeValidator <CardFieldDefinition> changeValidator = new EntityChangeValidator <CardFieldDefinition>();

            changeValidator.Register(nameof(CardFieldDefinition.FieldName), new CardFieldDefinitionFieldNameValidator());
            CardTemplateChangeValidator validator = new CardTemplateChangeValidator(changeValidator);

            validator.Register(nameof(CardTemplate.Title), new CardTemplateTitleValidator());

            CardTemplate template = new CardTemplate()
            {
                Title = "test"
            };
            CardFieldDefinition fieldDefinition = new CardFieldDefinition();

            template.FieldDefinitions.Add(fieldDefinition);

            string error = validator.Validate <string>(nameof(CardFieldDefinition.FieldName), fieldDefinition, null);

            Assert.IsFalse(string.IsNullOrEmpty(error));
            error = validator.Validate(nameof(CardFieldDefinition.FieldName), fieldDefinition, "");
            Assert.IsFalse(string.IsNullOrEmpty(error));
            error = validator.Validate(nameof(CardFieldDefinition.FieldName), fieldDefinition, "test");
            Assert.IsTrue(string.IsNullOrEmpty(error));
        }
예제 #2
0
        /// <summary>
        /// Adds the Property validator for <see cref="CardTemplate"/>
        /// </summary>
        /// <param name="services">Service-collection</param>
        public static void AddCardTemplatePropertyValidator(this IServiceCollection services)
        {
            EntityChangeValidator <CardFieldDefinition> fieldDefinitionChangeValidator = new EntityChangeValidator <CardFieldDefinition>();

            fieldDefinitionChangeValidator.Register(nameof(CardFieldDefinition.FieldName), new CardFieldDefinitionFieldNameValidator());
            EntityChangeValidator <CardTemplate> validator = new CardTemplateChangeValidator(fieldDefinitionChangeValidator);

            validator.Register(nameof(CardTemplate.Title), new CardTemplateTitleValidator());
            services.AddSingleton(typeof(EntityChangeValidator <CardTemplate>), validator);
        }