IValidationAttributeFormatter Interface

Definição

Formata um modelo de mensagem de erro de validação com argumentos específicos de atributo. Utilizado pelo pipeline de localização de validação para produzir mensagens de erro totalmente formatadas a partir de modelos localizados que contêm marcadores posicionais para além {0} do nome de visualização.

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

Observações

Para adicionar suporte de formatação para um atributo de validação personalizado, tens duas opções:

  1. Implementa IValidationAttributeFormatter diretamente no próprio atributo. ValidationAttributeFormatterRegistry verifica isto primeiro e usa o atributo como um formador automático próprio.
  2. Crie uma implementação separada IValidationAttributeFormatter e registe-a através AttributeFormatters de .AddFormatter<TAttribute>(Func<TAttribute,IValidationAttributeFormatter>)
O exemplo seguinte mostra como registar um formatador para um atributo personalizado:
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)));

Métodos

Name Descrição
FormatErrorMessage(CultureInfo, String, String)

Formata o especificado messageTemplate substituindo argumentos específicos de atributo ao lado do displayName.

Aplica-se a