語言

ValidationLocalizationOptions.ErrorMessageKeyProvider 屬性

定義

取得或設定代理,決定驗證屬性錯誤訊息的本地化查詢金鑰。 配置後,代理對每個屬性都會被調用,且優先於 ErrorMessage。 回傳 null 或空字串則直接用作 ErrorMessage 查找鍵。

public:
 property Func<Microsoft::Extensions::Validation::ErrorMessageLocalizationContext, System::String ^> ^ ErrorMessageKeyProvider { Func<Microsoft::Extensions::Validation::ErrorMessageLocalizationContext, System::String ^> ^ get(); void set(Func<Microsoft::Extensions::Validation::ErrorMessageLocalizationContext, System::String ^> ^ value); };
public Func<Microsoft.Extensions.Validation.ErrorMessageLocalizationContext,string?>? ErrorMessageKeyProvider { get; set; }
member this.ErrorMessageKeyProvider : Func<Microsoft.Extensions.Validation.ErrorMessageLocalizationContext, string> with get, set
Public Property ErrorMessageKeyProvider As Func(Of ErrorMessageLocalizationContext, String)

屬性值

Func<Microsoft.Extensions.Validation.ErrorMessageLocalizationContext,String>

備註

當 null (預設值)時,只有設定為 ErrorMessage 的屬性會被本地化(以 ErrorMessage value 作為鍵值);沒有明確 ErrorMessage 的屬性則完全不會本地化。

設定後,代表可:

  • 提供一個備用鍵,適用於沒有明確 ErrorMessage (基於慣例的鍵選擇)的屬性。
  • 透過從上下文讀取 ErrorMessage的 ,Microsoft.Extensions.Validation.ErrorMessageLocalizationContext.Attribute將一個存在ErrorMessage的 轉換成不同的查找鍵。
  • 回放 null 或空字串,讓預設的鍵 ErrorMessage 使用。
options.ErrorMessageKeyProvider = context =>
    $"{context.Attribute.GetType().Name}_ValidationError";
// This makes the localizer look up "RequiredAttribute_ValidationError"
// instead of "The {0} field is required."

適用於