1 interface inheriting from IValidateOptions
Microsoft.Extensions.Options (1)
IAsyncValidateOptions.cs (1)
17public interface IAsyncValidateOptions<TOptions> : IValidateOptions<TOptions> where TOptions : class
41 implementations of IValidateOptions
Aspire.Dashboard (1)
Configuration\ValidateDashboardOptions.cs (1)
10public sealed class ValidateDashboardOptions : IValidateOptions<DashboardOptions>
Aspire.Hosting (3)
Dashboard\ResourceServiceOptions.cs (1)
42internal sealed class ValidateResourceServiceOptions : IValidateOptions<ResourceServiceOptions>
Dashboard\TransportOptionsValidator.cs (1)
11internal class TransportOptionsValidator(IConfiguration configuration, DistributedApplicationExecutionContext executionContext, DistributedApplicationOptions distributedApplicationOptions) : IValidateOptions<TransportOptions>
Dcp\DcpOptions.cs (1)
145internal class ValidateDcpOptions(DistributedApplicationExecutionContext executionContext) : IValidateOptions<DcpOptions>
Microsoft.AspNetCore.Diagnostics.Middleware (5)
Buffering\PerRequestLogBufferingOptionsCustomValidator.cs (1)
11internal sealed class PerRequestLogBufferingOptionsCustomValidator : IValidateOptions<PerRequestLogBufferingOptions>
Buffering\PerRequestLogBufferingOptionsValidator.cs (1)
10internal sealed partial class PerRequestLogBufferingOptionsValidator : IValidateOptions<PerRequestLogBufferingOptions>
Latency\RequestLatencyTelemetryOptionsValidator.cs (1)
9internal sealed partial class RequestLatencyTelemetryOptionsValidator : IValidateOptions<RequestLatencyTelemetryOptions>
Logging\LoggingRedactionOptionsValidator.cs (1)
11internal sealed partial class LoggingRedactionOptionsValidator : IValidateOptions<LoggingRedactionOptions>
Logging\RequestHeadersLogEnricherOptionsValidator.cs (1)
9internal sealed partial class RequestHeadersLogEnricherOptionsValidator : IValidateOptions<RequestHeadersLogEnricherOptions>
Microsoft.AspNetCore.HeaderParsing (2)
HeaderParsingOptionsManualValidator.cs (1)
8internal sealed class HeaderParsingOptionsManualValidator : IValidateOptions<HeaderParsingOptions>
HeaderParsingOptionsValidator.cs (1)
9internal sealed partial class HeaderParsingOptionsValidator : IValidateOptions<HeaderParsingOptions>
Microsoft.Extensions.AmbientMetadata.Application (1)
ApplicationMetadataValidator.cs (1)
9internal sealed partial class ApplicationMetadataValidator : IValidateOptions<ApplicationMetadata>
Microsoft.Extensions.Compliance.Redaction (1)
HmacRedactorOptionsValidator.cs (1)
9internal sealed partial class HmacRedactorOptionsValidator : IValidateOptions<HmacRedactorOptions>
Microsoft.Extensions.Compliance.Testing (2)
FakeRedactorOptionsAutoValidator.cs (1)
9internal sealed partial class FakeRedactorOptionsAutoValidator : IValidateOptions<FakeRedactorOptions>
FakeRedactorOptionsCustomValidator.cs (1)
10internal sealed class FakeRedactorOptionsCustomValidator : IValidateOptions<FakeRedactorOptions>
Microsoft.Extensions.Diagnostics.HealthChecks.ResourceUtilization (1)
ResourceUtilizationHealthCheckOptionsValidator.cs (1)
9internal sealed partial class ResourceUtilizationHealthCheckOptionsValidator : IValidateOptions<ResourceUtilizationHealthCheckOptions>
Microsoft.Extensions.Diagnostics.Probes (2)
KubernetesProbesOptionsValidator.cs (1)
8internal sealed class KubernetesProbesOptionsValidator : IValidateOptions<KubernetesProbesOptions>
TcpEndpointProbesOptionsValidator.cs (1)
9internal sealed partial class TcpEndpointProbesOptionsValidator : IValidateOptions<TcpEndpointProbesOptions>
Microsoft.Extensions.Diagnostics.ResourceMonitoring (2)
ResourceMonitoringOptionsCustomValidator.cs (1)
10internal sealed class ResourceMonitoringOptionsCustomValidator : IValidateOptions<ResourceMonitoringOptions>
ResourceMonitoringOptionsValidator.cs (1)
9internal sealed partial class ResourceMonitoringOptionsValidator : IValidateOptions<ResourceMonitoringOptions>
Microsoft.Extensions.Http.Diagnostics (1)
Logging\Internal\LoggingOptionsValidator.cs (1)
9internal sealed partial class LoggingOptionsValidator : IValidateOptions<LoggingOptions>
Microsoft.Extensions.Http.Resilience (6)
Hedging\Internals\Validators\HttpStandardHedgingResilienceOptionsCustomValidator.cs (1)
9internal sealed class HttpStandardHedgingResilienceOptionsCustomValidator : IValidateOptions<HttpStandardHedgingResilienceOptions>
Hedging\Internals\Validators\HttpStandardHedgingResilienceOptionsValidator.cs (1)
9internal sealed partial class HttpStandardHedgingResilienceOptionsValidator : IValidateOptions<HttpStandardHedgingResilienceOptions>
Resilience\Internal\Validators\HttpStandardResilienceOptionsCustomValidator.cs (1)
9internal sealed class HttpStandardResilienceOptionsCustomValidator : IValidateOptions<HttpStandardResilienceOptions>
Resilience\Internal\Validators\HttpStandardResilienceOptionsValidator.cs (1)
9internal sealed partial class HttpStandardResilienceOptionsValidator : IValidateOptions<HttpStandardResilienceOptions>
Routing\Internal\OrderedGroups\OrderedGroupsRoutingOptionsValidator.cs (1)
9internal sealed partial class OrderedGroupsRoutingOptionsValidator : IValidateOptions<OrderedGroupsRoutingOptions>
Routing\Internal\WeightedGroups\WeightedGroupsRoutingOptionsValidator.cs (1)
9internal sealed partial class WeightedGroupsRoutingOptionsValidator : IValidateOptions<WeightedGroupsRoutingOptions>
Microsoft.Extensions.Options (7)
NamedValidateOptionsFilter.cs (1)
8internal sealed class NamedValidateOptionsFilter<TOptions, TInner> : IValidateOptions<TOptions>
ValidateOptions.cs (6)
12public class ValidateOptions<TOptions> : IValidateOptions<TOptions> where TOptions : class 72public class ValidateOptions<TOptions, TDep> : IValidateOptions<TOptions> where TOptions : class 140public class ValidateOptions<TOptions, TDep1, TDep2> : IValidateOptions<TOptions> where TOptions : class 216public class ValidateOptions<TOptions, TDep1, TDep2, TDep3> : IValidateOptions<TOptions> where TOptions : class 300public class ValidateOptions<TOptions, TDep1, TDep2, TDep3, TDep4> : IValidateOptions<TOptions> where TOptions : class 392public class ValidateOptions<TOptions, TDep1, TDep2, TDep3, TDep4, TDep5> : IValidateOptions<TOptions> where TOptions : class
Microsoft.Extensions.Options.DataAnnotations (1)
DataAnnotationValidateOptions.cs (1)
21: IValidateOptions<TOptions>, IAsyncValidateOptions<TOptions>
Microsoft.Extensions.ServiceDiscovery (2)
Configuration\ConfigurationServiceEndpointProviderOptionsValidator.cs (1)
8internal sealed class ConfigurationServiceEndpointProviderOptionsValidator : IValidateOptions<ConfigurationServiceEndpointProviderOptions>
Internal\ServiceDiscoveryOptionsValidator.cs (1)
8internal sealed class ServiceDiscoveryOptionsValidator : IValidateOptions<ServiceDiscoveryOptions>
Microsoft.Extensions.ServiceDiscovery.Dns (1)
DnsResolverOptionsValidator.cs (1)
9internal sealed class DnsResolverOptionsValidator : IValidateOptions<DnsResolverOptions>
Microsoft.Extensions.Telemetry (2)
Logging\LoggerEnrichmentOptionsValidator.cs (1)
9internal sealed partial class LoggerEnrichmentOptionsValidator : IValidateOptions<LoggerEnrichmentOptions>
Sampling\RandomProbabilisticSamplerOptionsValidator.cs (1)
9internal sealed partial class RandomProbabilisticSamplerOptionsValidator : IValidateOptions<RandomProbabilisticSamplerOptions>
Microsoft.Extensions.Telemetry.Abstractions (1)
Latency\Registration\LatencyContextRegistrationOptionsValidator.cs (1)
9internal sealed partial class LatencyContextRegistrationOptionsValidator : IValidateOptions<LatencyContextRegistrationOptions>
74 references to IValidateOptions
Aspire.Dashboard (1)
DashboardWebApplication.cs (1)
197builder.Services.AddSingleton<IValidateOptions<DashboardOptions>, ValidateDashboardOptions>();
Aspire.Hosting (4)
Dashboard\DashboardServiceHost.cs (1)
78builder.Services.AddSingleton<IValidateOptions<ResourceServiceOptions>, ValidateResourceServiceOptions>();
DistributedApplicationBuilder.cs (3)
445_innerBuilder.Services.TryAddEnumerable(ServiceDescriptor.Singleton<IValidateOptions<DcpOptions>, ValidateDcpOptions>()); 522_innerBuilder.Services.TryAddEnumerable(ServiceDescriptor.Singleton<IValidateOptions<TransportOptions>, TransportOptionsValidator>()); 655_innerBuilder.Services.AddSingleton<IValidateOptions<HealthCheckServiceOptions>>(sp =>
Aspire.StackExchange.Redis (1)
AspireRedisExtensions.cs (1)
247public ConfigurationOptionsFactory(IServiceProvider serviceProvider, IEnumerable<IConfigureOptions<ConfigurationOptions>> setups, IEnumerable<IPostConfigureOptions<ConfigurationOptions>> postConfigures, IEnumerable<IValidateOptions<ConfigurationOptions>> validations)
Microsoft.Extensions.Compliance.Testing (1)
FakeRedactor.cs (1)
43IValidateOptions<FakeRedactorOptions> validator = new FakeRedactorOptionsAutoValidator();
Microsoft.Extensions.Options (49)
IAsyncValidateOptions.cs (1)
15/// or as <see cref="IValidateOptions{TOptions}"/>, not directly as <see cref="IAsyncValidateOptions{TOptions}"/>.
IOptionsSnapshot.cs (1)
15/// options synchronously. Validators with a usable synchronous <see cref="IValidateOptions{TOptions}.Validate"/>
IStartupValidator.cs (1)
23/// <exception cref="OptionsValidationException">One or more <see cref="IValidateOptions{TOptions}"/> return failed <see cref="ValidateOptionsResult"/> when validating.</exception>
NamedValidateOptionsFilter.cs (1)
10where TInner : IValidateOptions<TOptions>
OptionsBuilder.cs (16)
342/// Registers an <see cref="IValidateOptions{TOptions}"/> type for an options type. 351/// name for startup validation. A validator registered directly as <see cref="IValidateOptions{TOptions}"/> 355where TValidateOptions : class, IValidateOptions<TOptions> 357Services.AddTransient<IValidateOptions<TOptions>>(sp => 389Services.AddSingleton<IValidateOptions<TOptions>>(new ValidateOptions<TOptions>(Name, validation, failureMessage)); 413Services.AddTransient<IValidateOptions<TOptions>>(sp => 444Services.AddTransient<IValidateOptions<TOptions>>(sp => 483Services.AddTransient<IValidateOptions<TOptions>>(sp => 527Services.AddTransient<IValidateOptions<TOptions>>(sp => 576Services.AddTransient<IValidateOptions<TOptions>>(sp => 606Services.AddSingleton<IValidateOptions<TOptions>>( 631Services.AddTransient<IValidateOptions<TOptions>>(sp => 666Services.AddTransient<IValidateOptions<TOptions>>(sp => 706Services.AddTransient<IValidateOptions<TOptions>>(sp => 751Services.AddTransient<IValidateOptions<TOptions>>(sp => 801Services.AddTransient<IValidateOptions<TOptions>>(sp =>
OptionsFactory.cs (10)
22private readonly IValidateOptions<TOptions>[] _validations; 30public OptionsFactory(IEnumerable<IConfigureOptions<TOptions>> setups, IEnumerable<IPostConfigureOptions<TOptions>> postConfigures) : this(setups, postConfigures, validations: Array.Empty<IValidateOptions<TOptions>>()) 39public OptionsFactory(IEnumerable<IConfigureOptions<TOptions>> setups, IEnumerable<IPostConfigureOptions<TOptions>> postConfigures, IEnumerable<IValidateOptions<TOptions>> validations) 48_validations = validations as IValidateOptions<TOptions>[] ?? new List<IValidateOptions<TOptions>>(validations).ToArray(); 50foreach (IValidateOptions<TOptions> validation in _validations) 68foreach (IValidateOptions<TOptions> validation in _validations) 87/// <exception cref="OptionsValidationException">One or more <see cref="IValidateOptions{TOptions}"/> return failed <see cref="ValidateOptionsResult"/> when validating the <typeparamref name="TOptions"/> instance created.</exception> 96foreach (IValidateOptions<TOptions> validate in _validations) 116foreach (IValidateOptions<TOptions> validate in _validations)
OptionsManager.cs (1)
40/// <exception cref="OptionsValidationException">One or more <see cref="IValidateOptions{TOptions}"/> return failed <see cref="ValidateOptionsResult"/> when validating the <typeparamref name="TOptions"/> instance created.</exception>
OptionsMonitor.cs (2)
75/// <exception cref="OptionsValidationException">One or more <see cref="IValidateOptions{TOptions}"/> return failed <see cref="ValidateOptionsResult"/> when validating the <typeparamref name="TOptions"/> instance created.</exception> 87/// <exception cref="OptionsValidationException">One or more <see cref="IValidateOptions{TOptions}"/> return failed <see cref="ValidateOptionsResult"/> when validating the <typeparamref name="TOptions"/> instance created.</exception>
OptionsServiceCollectionExtensions.cs (7)
62/// <typeparam name="TValidateOptions">The <see cref="IValidateOptions{TOptions}"/> validator type.</typeparam> 72where TValidateOptions : class, IValidateOptions<TOptions> 74services.AddOptions().TryAddEnumerable(ServiceDescriptor.Singleton<IValidateOptions<TOptions>, TValidateOptions>()); 162/// <see cref="IPostConfigureOptions{TOptions}"/>, and <see cref="IValidateOptions{TOptions}"/> 182gtd == typeof(IValidateOptions<>)) 208/// <see cref="IPostConfigureOptions{TOptions}"/>, and <see cref="IValidateOptions{TOptions}"/> 237/// <see cref="IPostConfigureOptions{TOptions}"/>, and <see cref="IValidateOptions{TOptions}"/>
OptionsValidatorAttribute.cs (1)
10/// Triggers the automatic generation of the implementation of <see cref="Microsoft.Extensions.Options.IValidateOptions{T}" /> at compile time.
ValidateEnumeratedItemsAttribute.cs (1)
30/// <param name="validator">A type that implements <see cref="IValidateOptions{T}" /> for the enumerable's type.</param>
ValidateObjectMembersAttribute.cs (1)
29/// <param name="validator">A type that implements <see cref="IValidateOptions{T}" /> for the field/property's type.</param>
ValidateOptions.cs (6)
9/// Implementation of <see cref="IValidateOptions{TOptions}"/> 68/// Implementation of <see cref="IValidateOptions{TOptions}"/> 135/// Implementation of <see cref="IValidateOptions{TOptions}"/>. 210/// Implementation of <see cref="IValidateOptions{TOptions}"/> 293/// Implementation of <see cref="IValidateOptions{TOptions}"/> 384/// Implementation of <see cref="IValidateOptions{TOptions}"/>
Microsoft.Extensions.Options.Contextual (4)
Internal\ContextualOptionsFactory.cs (4)
28private readonly IValidateOptions<TOptions>[] _validations; 41IEnumerable<IValidateOptions<TOptions>> validations) 46_validations = validations as IValidateOptions<TOptions>[] ?? validations.ToArray(); 134foreach (IValidateOptions<TOptions> validate in _validations)
Microsoft.Extensions.Options.Contextual.Tests (10)
ContextualOptionsFactoryTests.cs (10)
27Enumerable.Empty<IValidateOptions<List<string>>>()); 74Enumerable.Empty<IValidateOptions<List<string>>>()); 95Enumerable.Empty<IValidateOptions<List<string>>>())); 115Enumerable.Empty<IValidateOptions<List<string>>>()); 128Enumerable.Empty<IValidateOptions<List<string>>>()); 141Enumerable.Empty<IValidateOptions<List<string>>>()); 154Enumerable.Empty<IValidateOptions<List<string>>>()); 198Enumerable.Empty<IValidateOptions<List<string>>>()); 220Enumerable.Empty<IValidateOptions<List<string>>>()); 245Enumerable.Empty<IValidateOptions<List<string>>>());
Microsoft.Extensions.Options.DataAnnotations (1)
DataAnnotationValidateOptions.cs (1)
16/// Implementation of <see cref="IValidateOptions{TOptions}"/> that uses DataAnnotation's <see cref="Validator"/> for validation.
Microsoft.Extensions.ServiceDiscovery (2)
ServiceDiscoveryServiceCollectionExtensions.cs (2)
62services.TryAddTransient<IValidateOptions<ServiceDiscoveryOptions>, ServiceDiscoveryOptionsValidator>(); 97services.AddTransient<IValidateOptions<ConfigurationServiceEndpointProviderOptions>, ConfigurationServiceEndpointProviderOptionsValidator>();
Microsoft.Extensions.ServiceDiscovery.Dns (1)
ServiceDiscoveryDnsServiceCollectionExtensions.cs (1)
130services.AddTransient<IValidateOptions<DnsResolverOptions>, DnsResolverOptionsValidator>();