IValidationAttributeFormatter 接口

定义

使用特定于属性的参数设置验证错误消息模板的格式。 由验证本地化管道用于从包含位置占位符(显示名称)的 {0} 本地化模板生成完全格式化的错误消息。

public interface class IValidationAttributeFormatter
public interface IValidationAttributeFormatter
type IValidationAttributeFormatter = interface
Public Interface IValidationAttributeFormatter

注解

若要为自定义验证属性添加格式支持,有两个选项:

  1. 直接在属性本身上实现 IValidationAttributeFormatterValidationAttributeFormatterRegistry 首先检查此属性,并自动使用该属性作为自己的格式化程序。
  2. 通过调用创建单独的IValidationAttributeFormatter实现并注册它AttributeFormattersAddFormatter<TAttribute>(Func<TAttribute,IValidationAttributeFormatter>)
以下示例演示如何为自定义属性注册格式化程序:
public class MyAttributeFormatter(MyAttribute attribute) : IValidationAttributeFormatter
{
    public string FormatErrorMessage(CultureInfo culture, string messageTemplate, string displayName)
        => string.Format(culture, messageTemplate, displayName, attribute.CustomProperty);
}

// Register it in Program.cs:
builder.Services.AddValidationLocalization(options =>
    options.AttributeFormatters.AddFormatter<MyAttribute>(
        attribute => new MyAttributeFormatter(attribute)));

方法

名称 说明
FormatErrorMessage(CultureInfo, String, String)

通过替换特定于属性的参数和 <a0/> 来设置指定的格式。

适用于