don't short circuit the property validation, run all of them for content for all variants so we get the correct response
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Umbraco.Core.Composing;
|
||||
using Umbraco.Core.Services;
|
||||
|
||||
namespace Umbraco.Core.PropertyEditors.Validators
|
||||
@@ -11,7 +12,7 @@ namespace Umbraco.Core.PropertyEditors.Validators
|
||||
{
|
||||
private readonly ILocalizedTextService _textService;
|
||||
|
||||
public RequiredValidator()
|
||||
public RequiredValidator() : this(Current.Services.TextService)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -51,8 +51,8 @@ namespace Umbraco.Web.Editors.Filters
|
||||
//validate for each variant
|
||||
foreach (var variant in model.Variants)
|
||||
{
|
||||
if (contentItemValidator.ValidateProperties(model, variant, actionContext) == false) return;
|
||||
if (contentItemValidator.ValidatePropertyData(model, variant, variant.PropertyCollectionDto, actionContext.ModelState) == false) return;
|
||||
if (contentItemValidator.ValidateProperties(model, variant, actionContext))
|
||||
contentItemValidator.ValidatePropertyData(model, variant, variant.PropertyCollectionDto, actionContext.ModelState);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,9 +44,9 @@ namespace Umbraco.Web.Editors.Filters
|
||||
if (ValidateUserAccess(model, actionContext))
|
||||
{
|
||||
//now do each validation step
|
||||
if (!contentItemValidator.ValidateExistingContent(model, actionContext)) return;
|
||||
if (!contentItemValidator.ValidateProperties(model, model, actionContext)) return;
|
||||
if (!contentItemValidator.ValidatePropertyData(model, model, model.PropertyCollectionDto, actionContext.ModelState)) return;
|
||||
if (contentItemValidator.ValidateExistingContent(model, actionContext))
|
||||
if (!contentItemValidator.ValidateProperties(model, model, actionContext))
|
||||
contentItemValidator.ValidatePropertyData(model, model, model.PropertyCollectionDto, actionContext.ModelState);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -33,9 +33,9 @@ namespace Umbraco.Web.Editors.Filters
|
||||
var model = (MemberSave)actionContext.ActionArguments["contentItem"];
|
||||
var contentItemValidator = new MemberValidationHelper(_logger, _umbracoContextAccessor);
|
||||
//now do each validation step
|
||||
if (!contentItemValidator.ValidateExistingContent(model, actionContext)) return;
|
||||
if (!contentItemValidator.ValidateProperties(model, model, actionContext)) return;
|
||||
if (!contentItemValidator.ValidatePropertyData(model, model, model.PropertyCollectionDto, actionContext.ModelState)) return;
|
||||
if (contentItemValidator.ValidateExistingContent(model, actionContext))
|
||||
if (contentItemValidator.ValidateProperties(model, model, actionContext))
|
||||
contentItemValidator.ValidatePropertyData(model, model, model.PropertyCollectionDto, actionContext.ModelState);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user