public void Should_pick_single_validation_error_as_message_if_only_one()
        {
            var errors = new ValidationFailures();

            errors.AddFailure("name", "Name should not be empty");
            new DomainRuleException(errors).Message.Should().Be("Name should not be empty");
        }
        public static ValidationFailures ValidateAddressDetails(string houseNumber, string street, string city, string county, string postcode)
        {
            ValidationFailures _validationFailures = new ValidationFailures();

            if (string.IsNullOrEmpty(houseNumber))
            {
                _validationFailures.AddFailure("HouseNumber", "HouseNumber is required");
            }
            if (string.IsNullOrEmpty(street))
            {
                _validationFailures.AddFailure("Street", "Street is required");
            }
            if (string.IsNullOrEmpty(city))
            {
                _validationFailures.AddFailure("City", "City is required");
            }
            if (string.IsNullOrEmpty(county))
            {
                _validationFailures.AddFailure("County", "County is required");
            }
            if (string.IsNullOrEmpty(postcode))
            {
                _validationFailures.AddFailure("Postcode", "Postcode is required");
            }

            return(_validationFailures);
        }
예제 #3
0
        public bool InitalizeExpressions()
        {
            bool result = false;

            if (!IsValid)
            {
                return(false);
            }

            try
            {
                if (TypeExpression != null && TypeExpression != "")
                {
                    typeRegex = new Regex(TypeExpression, RegexOptions.Compiled, new TimeSpan(0, 0, 0, 1));
                }

                if (AttributeExpression != null && AttributeExpression != "")
                {
                    attributeRegex = new Regex(AttributeExpression, RegexOptions.Compiled, new TimeSpan(0, 0, 0, 1));
                }

                result = true;
            }
            catch (Exception ex)
            {
                ValidationFailures.Add(ex.Message);
            }

            return(result);
        }
예제 #4
0
        public IRequestValidationResult AddValidationFailure(string property, string message)
        {
            ValidationFailures.Add(new Failure()
            {
                Message  = message,
                Property = property
            });

            return(this);
        }
        public void Should_concatenate_multiple_validation_errors_as_message()
        {
            var errors = new ValidationFailures();

            errors.AddFailure("Role", "Role not recognised");
            errors.AddFailure("Name", "Name should not be empty");
            var exception = new DomainRuleException(errors);

            exception.Message.Should().Be("Domain validation failed with errors: Role not recognised, Name should not be empty");
        }
예제 #6
0
 /// <summary>
 /// Initialises a new instance of the <see cref="ValidationFailedOperationResult" /> with the errors dictionary
 /// as specified in the supplied <see cref="ValidationFailures" />.
 /// </summary>
 /// <param name="errors">The validation errors.</param>
 public ValidationFailedOperationResult(ValidationFailures errors)
 {
     this.Errors = errors.AsDictionary();
 }
예제 #7
0
 public DomainRuleException(string name, string message)
 {
     ValidationFailures.Add(new ValidationFailure(name, message));
 }
 public static void AddDomainRuleErrors(this ModelStateDictionary modelState, ValidationFailures validationFailures)
 {
     validationFailures.ForEach(x => modelState.AddModelError(x.Name, x.Message));
 }
예제 #9
0
 public IRequestValidationResult AddValidationFailure(Failure failure)
 {
     ValidationFailures.Add(failure);
     return(this);
 }
예제 #10
0
 /// <summary>
 /// Initialises a new instance of the <see cref="ValidationProblemDetails" /> class
 /// from an instance of <see cref="ValidationFailures" />.
 /// </summary>
 /// <param name="errors">The errors to represent.</param>
 public ValidationProblemDetails(ValidationFailures errors)
     : this()
 {
     this.Errors = errors.AsDictionary();
 }