1 interface inheriting from IValidateOptions
Microsoft.Extensions.Options (1)
IAsyncValidateOptions.cs (1)
17public interface IAsyncValidateOptions<TOptions> : IValidateOptions<TOptions> where TOptions : class
42 implementations of IValidateOptions
Aspire.Dashboard (1)
Configuration\ValidateDashboardOptions.cs (1)
10public sealed class ValidateDashboardOptions : IValidateOptions<DashboardOptions>
Aspire.Hosting (4)
Dashboard\DashboardOptions.cs (1)
48internal class ValidateDashboardOptions : IValidateOptions<DashboardOptions>
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)
115internal class ValidateDcpOptions : IValidateOptions<DcpOptions>
Microsoft.AspNetCore.Diagnostics.Middleware (5)
..\..\..\..\src\Libraries\Microsoft.AspNetCore.Diagnostics.Middleware\Buffering\PerRequestLogBufferingOptionsCustomValidator.cs (1)
11internal sealed class PerRequestLogBufferingOptionsCustomValidator : IValidateOptions<PerRequestLogBufferingOptions>
..\..\..\..\src\Libraries\Microsoft.AspNetCore.Diagnostics.Middleware\Buffering\PerRequestLogBufferingOptionsValidator.cs (1)
10internal sealed partial class PerRequestLogBufferingOptionsValidator : IValidateOptions<PerRequestLogBufferingOptions>
..\..\..\..\src\Libraries\Microsoft.AspNetCore.Diagnostics.Middleware\Latency\RequestLatencyTelemetryOptionsValidator.cs (1)
9internal sealed partial class RequestLatencyTelemetryOptionsValidator : IValidateOptions<RequestLatencyTelemetryOptions>
..\..\..\..\src\Libraries\Microsoft.AspNetCore.Diagnostics.Middleware\Logging\LoggingRedactionOptionsValidator.cs (1)
11internal sealed partial class LoggingRedactionOptionsValidator : IValidateOptions<LoggingRedactionOptions>
..\..\..\..\src\Libraries\Microsoft.AspNetCore.Diagnostics.Middleware\Logging\RequestHeadersLogEnricherOptionsValidator.cs (1)
9internal sealed partial class RequestHeadersLogEnricherOptionsValidator : IValidateOptions<RequestHeadersLogEnricherOptions>
Microsoft.AspNetCore.HeaderParsing (2)
..\..\..\..\src\Libraries\Microsoft.AspNetCore.HeaderParsing\HeaderParsingOptionsManualValidator.cs (1)
8internal sealed class HeaderParsingOptionsManualValidator : IValidateOptions<HeaderParsingOptions>
..\..\..\..\src\Libraries\Microsoft.AspNetCore.HeaderParsing\HeaderParsingOptionsValidator.cs (1)
9internal sealed partial class HeaderParsingOptionsValidator : IValidateOptions<HeaderParsingOptions>
Microsoft.Extensions.AmbientMetadata.Application (1)
..\..\..\..\src\Libraries\Microsoft.Extensions.AmbientMetadata.Application\ApplicationMetadataValidator.cs (1)
9internal sealed partial class ApplicationMetadataValidator : IValidateOptions<ApplicationMetadata>
Microsoft.Extensions.Compliance.Redaction (1)
..\..\..\..\src\Libraries\Microsoft.Extensions.Compliance.Redaction\HmacRedactorOptionsValidator.cs (1)
9internal sealed partial class HmacRedactorOptionsValidator : IValidateOptions<HmacRedactorOptions>
Microsoft.Extensions.Compliance.Testing (2)
..\..\..\..\src\Libraries\Microsoft.Extensions.Compliance.Testing\FakeRedactorOptionsAutoValidator.cs (1)
9internal sealed partial class FakeRedactorOptionsAutoValidator : IValidateOptions<FakeRedactorOptions>
..\..\..\..\src\Libraries\Microsoft.Extensions.Compliance.Testing\FakeRedactorOptionsCustomValidator.cs (1)
10internal sealed class FakeRedactorOptionsCustomValidator : IValidateOptions<FakeRedactorOptions>
Microsoft.Extensions.Diagnostics.HealthChecks.ResourceUtilization (1)
..\..\..\..\..\..\..\..\34e99ef267374b6f\ResourceUtilizationHealthCheckOptionsValidator.cs (1)
9internal sealed partial class ResourceUtilizationHealthCheckOptionsValidator : IValidateOptions<ResourceUtilizationHealthCheckOptions>
Microsoft.Extensions.Diagnostics.Probes (2)
..\..\..\..\src\Libraries\Microsoft.Extensions.Diagnostics.Probes\KubernetesProbesOptionsValidator.cs (1)
8internal sealed class KubernetesProbesOptionsValidator : IValidateOptions<KubernetesProbesOptions>
..\..\..\..\src\Libraries\Microsoft.Extensions.Diagnostics.Probes\TcpEndpointProbesOptionsValidator.cs (1)
9internal sealed partial class TcpEndpointProbesOptionsValidator : IValidateOptions<TcpEndpointProbesOptions>
Microsoft.Extensions.Diagnostics.ResourceMonitoring (2)
..\..\..\..\src\Libraries\Microsoft.Extensions.Diagnostics.ResourceMonitoring\ResourceMonitoringOptionsCustomValidator.cs (1)
10internal sealed class ResourceMonitoringOptionsCustomValidator : IValidateOptions<ResourceMonitoringOptions>
..\..\..\..\src\Libraries\Microsoft.Extensions.Diagnostics.ResourceMonitoring\ResourceMonitoringOptionsValidator.cs (1)
9internal sealed partial class ResourceMonitoringOptionsValidator : IValidateOptions<ResourceMonitoringOptions>
Microsoft.Extensions.Http.Diagnostics (1)
..\..\..\..\src\Libraries\Microsoft.Extensions.Http.Diagnostics\Logging\Internal\LoggingOptionsValidator.cs (1)
9internal sealed partial class LoggingOptionsValidator : IValidateOptions<LoggingOptions>
Microsoft.Extensions.Http.Resilience (6)
..\..\..\..\..\..\..\..\75ad6ba96c96830a\HttpStandardHedgingResilienceOptionsCustomValidator.cs (1)
9internal sealed class HttpStandardHedgingResilienceOptionsCustomValidator : IValidateOptions<HttpStandardHedgingResilienceOptions>
..\..\..\..\..\..\..\..\75ad6ba96c96830a\HttpStandardHedgingResilienceOptionsValidator.cs (1)
9internal sealed partial class HttpStandardHedgingResilienceOptionsValidator : IValidateOptions<HttpStandardHedgingResilienceOptions>
..\..\..\..\..\..\..\..\d1dd6006251970a7\HttpStandardResilienceOptionsCustomValidator.cs (1)
9internal sealed class HttpStandardResilienceOptionsCustomValidator : IValidateOptions<HttpStandardResilienceOptions>
..\..\..\..\src\Libraries\Microsoft.Extensions.Http.Resilience\Resilience\Internal\Validators\HttpStandardResilienceOptionsValidator.cs (1)
9internal sealed partial class HttpStandardResilienceOptionsValidator : IValidateOptions<HttpStandardResilienceOptions>
..\..\..\..\src\Libraries\Microsoft.Extensions.Http.Resilience\Routing\Internal\OrderedGroups\OrderedGroupsRoutingOptionsValidator.cs (1)
9internal sealed partial class OrderedGroupsRoutingOptionsValidator : IValidateOptions<OrderedGroupsRoutingOptions>
..\..\..\..\src\Libraries\Microsoft.Extensions.Http.Resilience\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)
..\..\..\..\src\Libraries\Microsoft.Extensions.ServiceDiscovery\Configuration\ConfigurationServiceEndpointProviderOptionsValidator.cs (1)
8internal sealed class ConfigurationServiceEndpointProviderOptionsValidator : IValidateOptions<ConfigurationServiceEndpointProviderOptions>
..\..\..\..\src\Libraries\Microsoft.Extensions.ServiceDiscovery\Internal\ServiceDiscoveryOptionsValidator.cs (1)
8internal sealed class ServiceDiscoveryOptionsValidator : IValidateOptions<ServiceDiscoveryOptions>
Microsoft.Extensions.ServiceDiscovery.Dns (1)
..\..\..\..\src\Libraries\Microsoft.Extensions.ServiceDiscovery.Dns\DnsResolverOptionsValidator.cs (1)
9internal sealed class DnsResolverOptionsValidator : IValidateOptions<DnsResolverOptions>
Microsoft.Extensions.Telemetry (2)
..\..\..\..\src\Libraries\Microsoft.Extensions.Telemetry\Logging\LoggerEnrichmentOptionsValidator.cs (1)
9internal sealed partial class LoggerEnrichmentOptionsValidator : IValidateOptions<LoggerEnrichmentOptions>
..\..\..\..\src\Libraries\Microsoft.Extensions.Telemetry\Sampling\RandomProbabilisticSamplerOptionsValidator.cs (1)
9internal sealed partial class RandomProbabilisticSamplerOptionsValidator : IValidateOptions<RandomProbabilisticSamplerOptions>
Microsoft.Extensions.Telemetry.Abstractions (1)
..\..\..\..\src\Libraries\Microsoft.Extensions.Telemetry.Abstractions\Latency\Registration\LatencyContextRegistrationOptionsValidator.cs (1)
9internal sealed partial class LatencyContextRegistrationOptionsValidator : IValidateOptions<LatencyContextRegistrationOptions>
75 references to IValidateOptions
Aspire.Dashboard (1)
DashboardWebApplication.cs (1)
177builder.Services.AddSingleton<IValidateOptions<DashboardOptions>, ValidateDashboardOptions>();
Aspire.Hosting (5)
Dashboard\DashboardServiceHost.cs (1)
85builder.Services.AddSingleton<IValidateOptions<ResourceServiceOptions>, ValidateResourceServiceOptions>();
DistributedApplicationBuilder.cs (4)
383_innerBuilder.Services.TryAddEnumerable(ServiceDescriptor.Singleton<IValidateOptions<DcpOptions>, ValidateDcpOptions>()); 461_innerBuilder.Services.TryAddEnumerable(ServiceDescriptor.Singleton<IValidateOptions<TransportOptions>, TransportOptionsValidator>()); 467_innerBuilder.Services.TryAddEnumerable(ServiceDescriptor.Singleton<IValidateOptions<DashboardOptions>, ValidateDashboardOptions>()); 583_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)
..\..\..\..\src\Libraries\Microsoft.Extensions.Compliance.Testing\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)
..\..\..\..\src\Libraries\Microsoft.Extensions.Options.Contextual\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)
..\..\..\..\test\Libraries\Microsoft.Extensions.Options.ContextualOptions.Tests\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)
..\..\..\..\src\Libraries\Microsoft.Extensions.ServiceDiscovery\ServiceDiscoveryServiceCollectionExtensions.cs (2)
62services.TryAddTransient<IValidateOptions<ServiceDiscoveryOptions>, ServiceDiscoveryOptionsValidator>(); 97services.AddTransient<IValidateOptions<ConfigurationServiceEndpointProviderOptions>, ConfigurationServiceEndpointProviderOptionsValidator>();
Microsoft.Extensions.ServiceDiscovery.Dns (1)
..\..\..\..\src\Libraries\Microsoft.Extensions.ServiceDiscovery.Dns\ServiceDiscoveryDnsServiceCollectionExtensions.cs (1)
130services.AddTransient<IValidateOptions<DnsResolverOptions>, DnsResolverOptionsValidator>();