diff --git a/src/Umbraco.Core/Configuration/ContentSettingsExtensions.cs b/src/Umbraco.Core/Configuration/ContentSettingsExtensions.cs
index 21ebe55f2f..7bf8f0fa15 100644
--- a/src/Umbraco.Core/Configuration/ContentSettingsExtensions.cs
+++ b/src/Umbraco.Core/Configuration/ContentSettingsExtensions.cs
@@ -39,7 +39,7 @@ namespace Umbraco.Core.Configuration
///
/// The property type alias.
/// The auto-fill configuration for the specified property alias, or null.
- public static IImagingAutoFillUploadField GetConfig(this ContentSettings contentSettings, string propertyTypeAlias)
+ public static ImagingAutoFillUploadField GetConfig(this ContentSettings contentSettings, string propertyTypeAlias)
{
var autoFillConfigs = contentSettings.Imaging.AutoFillImageProperties;
return autoFillConfigs?.FirstOrDefault(x => x.Alias == propertyTypeAlias);
diff --git a/src/Umbraco.Core/Configuration/Models/ContentErrorPage.cs b/src/Umbraco.Core/Configuration/Models/ContentErrorPage.cs
index ec4869d3b4..6a362c93a3 100644
--- a/src/Umbraco.Core/Configuration/Models/ContentErrorPage.cs
+++ b/src/Umbraco.Core/Configuration/Models/ContentErrorPage.cs
@@ -1,8 +1,10 @@
using System;
+using System.ComponentModel.DataAnnotations;
+using Umbraco.Core.Configuration.Models.Validation;
namespace Umbraco.Core.Configuration.Models
{
- public class ContentErrorPage
+ public class ContentErrorPage : ValidatableEntryBase
{
public int ContentId { get; set; }
@@ -16,12 +18,12 @@ namespace Umbraco.Core.Configuration.Models
public bool HasContentXPath => !string.IsNullOrEmpty(ContentXPath);
+ [Required]
public string Culture { get; set; }
- public bool IsValid()
+ internal override bool IsValid()
{
- // Entry is valid if Culture and one and only one of ContentId, ContentKey or ContentXPath is provided.
- return !string.IsNullOrWhiteSpace(Culture) &&
+ return base.IsValid() &&
((HasContentId ? 1 : 0) + (HasContentKey ? 1 : 0) + (HasContentXPath ? 1 : 0) == 1);
}
}
diff --git a/src/Umbraco.Core/Configuration/Models/ContentImagingSettings.cs b/src/Umbraco.Core/Configuration/Models/ContentImagingSettings.cs
index 681dcbbe88..7c1e570426 100644
--- a/src/Umbraco.Core/Configuration/Models/ContentImagingSettings.cs
+++ b/src/Umbraco.Core/Configuration/Models/ContentImagingSettings.cs
@@ -1,7 +1,4 @@
-using System.Collections.Generic;
-using Umbraco.Core.Configuration.UmbracoSettings;
-
-namespace Umbraco.Core.Configuration.Models
+namespace Umbraco.Core.Configuration.Models
{
public class ContentImagingSettings
{
@@ -17,21 +14,8 @@ namespace Umbraco.Core.Configuration.Models
}
};
- public IEnumerable ImageFileTypes { get; set; } = new[] { "jpeg", "jpg", "gif", "bmp", "png", "tiff", "tif" };
+ public string[] ImageFileTypes { get; set; } = new[] { "jpeg", "jpg", "gif", "bmp", "png", "tiff", "tif" };
- public IEnumerable AutoFillImageProperties { get; set; } = DefaultImagingAutoFillUploadField;
-
- private class ImagingAutoFillUploadField : IImagingAutoFillUploadField
- {
- public string Alias { get; set; }
-
- public string WidthFieldAlias { get; set; }
-
- public string HeightFieldAlias { get; set; }
-
- public string LengthFieldAlias { get; set; }
-
- public string ExtensionFieldAlias { get; set; }
- }
+ public ImagingAutoFillUploadField[] AutoFillImageProperties { get; set; } = DefaultImagingAutoFillUploadField;
}
}
diff --git a/src/Umbraco.Core/Configuration/Models/ImagingAutoFillUploadField.cs b/src/Umbraco.Core/Configuration/Models/ImagingAutoFillUploadField.cs
new file mode 100644
index 0000000000..f58e2bb4f8
--- /dev/null
+++ b/src/Umbraco.Core/Configuration/Models/ImagingAutoFillUploadField.cs
@@ -0,0 +1,23 @@
+using System.ComponentModel.DataAnnotations;
+using Umbraco.Core.Configuration.Models.Validation;
+
+namespace Umbraco.Core.Configuration.Models
+{
+ public class ImagingAutoFillUploadField : ValidatableEntryBase
+ {
+ [Required]
+ public string Alias { get; set; }
+
+ [Required]
+ public string WidthFieldAlias { get; set; }
+
+ [Required]
+ public string HeightFieldAlias { get; set; }
+
+ [Required]
+ public string LengthFieldAlias { get; set; }
+
+ [Required]
+ public string ExtensionFieldAlias { get; set; }
+ }
+}
diff --git a/src/Umbraco.Core/Configuration/Models/Validation/ConfigurationValidationBase.cs b/src/Umbraco.Core/Configuration/Models/Validation/ConfigurationValidationBase.cs
index d311b5157c..1af1945665 100644
--- a/src/Umbraco.Core/Configuration/Models/Validation/ConfigurationValidationBase.cs
+++ b/src/Umbraco.Core/Configuration/Models/Validation/ConfigurationValidationBase.cs
@@ -23,5 +23,17 @@ namespace Umbraco.Core.Configuration.Models.Validation
var validValues = Enum.GetValues(enumType).OfType