From 72d46552f51b69bed001c1c734a0193d23ddf9df Mon Sep 17 00:00:00 2001 From: Sebastian Stehle Date: Sat, 9 Feb 2019 20:39:07 +0100 Subject: [PATCH] Fix for empty string validation. --- .../Validators/RequiredStringValidator.cs | 2 +- .../ValidateContent/ValidatorsFactory.cs | 2 +- .../Operations/ValidateContent/StringFieldTests.cs | 11 +++++++++++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/RequiredStringValidator.cs b/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/RequiredStringValidator.cs index 2b5219448..eacbcdb79 100644 --- a/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/RequiredStringValidator.cs +++ b/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/RequiredStringValidator.cs @@ -28,7 +28,7 @@ namespace Squidex.Domain.Apps.Core.ValidateContent.Validators var valueAsString = (string)value; - if (valueAsString == null || validateEmptyStrings && string.IsNullOrWhiteSpace(valueAsString)) + if (valueAsString == null || (validateEmptyStrings && string.IsNullOrWhiteSpace(valueAsString))) { addError(context.Path, "Field is required."); } diff --git a/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/ValidatorsFactory.cs b/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/ValidatorsFactory.cs index 464ad7748..495dc500c 100644 --- a/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/ValidatorsFactory.cs +++ b/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/ValidatorsFactory.cs @@ -135,7 +135,7 @@ namespace Squidex.Domain.Apps.Core.ValidateContent { if (field.Properties.IsRequired) { - yield return new RequiredStringValidator(); + yield return new RequiredStringValidator(true); } if (field.Properties.MinLength.HasValue || field.Properties.MaxLength.HasValue) diff --git a/tests/Squidex.Domain.Apps.Core.Tests/Operations/ValidateContent/StringFieldTests.cs b/tests/Squidex.Domain.Apps.Core.Tests/Operations/ValidateContent/StringFieldTests.cs index 653f30c74..f90a14989 100644 --- a/tests/Squidex.Domain.Apps.Core.Tests/Operations/ValidateContent/StringFieldTests.cs +++ b/tests/Squidex.Domain.Apps.Core.Tests/Operations/ValidateContent/StringFieldTests.cs @@ -49,6 +49,17 @@ namespace Squidex.Domain.Apps.Core.Operations.ValidateContent new[] { "Field is required." }); } + [Fact] + public async Task Should_add_error_if_string_is_required_and_empty_string_is_passed() + { + var sut = Field(new StringFieldProperties { IsRequired = true }); + + await sut.ValidateAsync(CreateValue(string.Empty), errors); + + errors.Should().BeEquivalentTo( + new[] { "Field is required." }); + } + [Fact] public async Task Should_add_error_if_string_is_shorter_than_min_length() {