語言

ValidationLocalizationServiceCollectionExtensions.AddValidationLocalization 方法

定義

多載

名稱 Description
AddValidationLocalization(IServiceCollection, Action<ValidationLocalizationOptions>)

將預設 IStringLocalizer的基於 的驗證本地化工具加入服務集合,並透過設定 Microsoft.Extensions.Validation.ValidationOptions.Localizer進行接線。

AddValidationLocalization<TResource>(IServiceCollection, Action<ValidationLocalizationOptions>)

新增預設 IStringLocalizer的基於 的驗證在地化工具,設定為針對所有被驗證類型中資源類型的 TResource 在地字串解析。

AddValidationLocalization(IServiceCollection, Action<ValidationLocalizationOptions>)

來源:
ValidationLocalizationServiceCollectionExtensions.cs

將預設 IStringLocalizer的基於 的驗證本地化工具加入服務集合,並透過設定 Microsoft.Extensions.Validation.ValidationOptions.Localizer進行接線。

public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddValidationLocalization(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, Action<Microsoft.Extensions.Validation.Localization.ValidationLocalizationOptions>? configureOptions = default);
static member AddValidationLocalization : Microsoft.Extensions.DependencyInjection.IServiceCollection * Action<Microsoft.Extensions.Validation.Localization.ValidationLocalizationOptions> -> Microsoft.Extensions.DependencyInjection.IServiceCollection
<Extension()>
Public Function AddValidationLocalization (services As IServiceCollection, Optional configureOptions As Action(Of ValidationLocalizationOptions) = Nothing) As IServiceCollection

參數

services
IServiceCollection

IServiceCollection新增服務。

configureOptions
Action<ValidationLocalizationOptions>

一個可選的回調功能來設定 ValidationLocalizationOptions。

傳回

用來 IServiceCollection 串連。

備註

內部呼叫 AddLocalization(IServiceCollection) 以確保 已 IStringLocalizerFactory 註冊,並註冊一個 IConfigureOptions<TOptions> 橋接器,該橋接器設 Microsoft.Extensions.Validation.ValidationOptions.Localizer 為預設實例(僅在 Microsoft.Extensions.Validation.ValidationOptions.Localizer 尚未設定時)。

另外呼叫 AddValidation() 來註冊驗證管線本身。 呼叫順序不重要。

最小 API 參數驗證: 頂層最小 API 參數沒有宣告型別。 對於驗證最小 API 參數的應用程式,建議偏好超 AddValidationLocalization<TResource>(IServiceCollection, Action<ValidationLocalizationOptions>) 載(共享資源模式),或明確設定 LocalizerProvider 為不依賴宣告型別的代理(該 null 代別在參數情況下傳遞)。

預設 IStringLocalizerFactory 註冊 by AddLocalization() 會從 .resx 資源檔案讀取字串。 若要對其他來源(資料庫、JSON 檔案、記憶體字典、第三方翻譯服務)進行本地化,請在 之前或之後IStringLocalizerFactory註冊自己的AddValidationLocalization(IServiceCollection, Action<ValidationLocalizationOptions>)實作。 驗證本地化器會在驗證時解析工廠,因此註冊順序無關緊要:

builder.Services.AddValidation();
builder.Services.AddValidationLocalization();
builder.Services.AddSingleton<IStringLocalizerFactory, MyDatabaseLocalizerFactory>();

適用於

AddValidationLocalization<TResource>(IServiceCollection, Action<ValidationLocalizationOptions>)

來源:
ValidationLocalizationServiceCollectionExtensions.cs

新增預設 IStringLocalizer的基於 的驗證在地化工具,設定為針對所有被驗證類型中資源類型的 TResource 在地字串解析。

public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddValidationLocalization<TResource>(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, Action<Microsoft.Extensions.Validation.Localization.ValidationLocalizationOptions>? configureOptions = default);
static member AddValidationLocalization : Microsoft.Extensions.DependencyInjection.IServiceCollection * Action<Microsoft.Extensions.Validation.Localization.ValidationLocalizationOptions> -> Microsoft.Extensions.DependencyInjection.IServiceCollection
<Extension()>
Public Function AddValidationLocalization(Of TResource) (services As IServiceCollection, Optional configureOptions As Action(Of ValidationLocalizationOptions) = Nothing) As IServiceCollection

類型參數

TResource

識別共享資源來源的類型。

參數

services
IServiceCollection

IServiceCollection新增服務。

configureOptions
Action<ValidationLocalizationOptions>

可選回調以進一步設定 ValidationLocalizationOptions。

傳回

用來 IServiceCollection 串連。

備註

當驗證訊息存在於單一共享資源檔案中,而非每個類型資源檔案時,請使用此方法。

等同於設定 LocalizerProvider 為 (_, factory) => factory.Create(typeof(TResource)),但配置提供者會 IStringLocalizer 解決一次,並對每個宣告類型重複使用同一實例,避免重複出廠查詢。

適用於