Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
NotificationsYou must be signed in to change notification settings

rtlnl/Rtl.Configuration.FluentValidation

Repository files navigation

Rtl.Configuration.FluentValidation is based on packageRtl.Configuration.Validation and extends it by providing ability to useFluentValidation library for creating sophisticated validators not possible withDataAnnotations

Example

Suppose there is config class:

publicclassMyConfiguration{[Required]publicstringName{get;set;}[Range(0,10)]publicintValue{get;set;}}

and validator:

usingFluentValidation;publicclassMyConfigurationValidator:AbstractValidator<MyConfiguration>{publicMyConfigurationValidator(){RuleFor(x=>x.Name).Length(2,5);RuleFor(x=>x.Value).Must(x=>x%2==0);}}

The config class is registered like this:

publicvoidConfigureServices(IServiceCollectionservices){services.AddConfig<MyConfiguration,MyConfigurationValidator>(Configuration,"ConfigSectionName");}

Now the config values are validated based onDataAnnotations attributes and on rules inMyConfigurationValidator

Api

AddConfig

publicstaticIServiceCollectionAddConfig<TConfig,TValidator>(thisIServiceCollectionservices,IConfigurationconfiguration,stringsectionName)whereTConfig:class,new()whereTValidator:AbstractValidator<TConfig>

Adds IOptions<T> to IoC container, validates config beforeStartup.Configure is called usingDataAnnotations attributes andTValidator

GetConfig

publicstaticTConfigGetConfig<TConfig,TValidator>(thisIConfigurationconfiguration,stringsectionName)whereTConfig:class,new()whereTValidator:AbstractValidator<TConfig>,new()

Gets config of typeT from configuration, validates and returns it.Use this method when you don't need to addIOptions and you want to get validated config insideConfigureServices method and use right away

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages


[8]ページ先頭

©2009-2025 Movatter.jp