Localize la anotación `Obligatoria` en francés implícitamente
TLDR; Cómo obtener el comportamiento de
[Required(ErrorMessage = "Le champ {0} est obligatoire")]
mientras solo escribe
[Required]
Según tengo entendido eldocumentació no proporciona una manera de localizar implícitamente un conjunto dado de Anotaciones de datos.
Me gustaría recibir mensajes de error para anotaciones comoRequired
yStringLength
ser superable sin tocar a otros comoDisplay
y sin la necesidad de especificar explícitamente la traducción usando elErrorMessage
atributo.
note: solo necesito que los mensajes se traduzcan al francés, por lo que no es necesario que la solución esté vinculada al idioma de la solicitud.
Intenté lo siguiente:
Desdeest GitHub hilo
En elStartup.cs
services.AddMvc(options => options.ModelBindingMessageProvider.AttemptedValueIsInvalidAccessor =
(value, name) => $"Hmm, '{value}' is not a valid value for '{name}'."));
Me da el siguiente error
o se puede asignar a @Property o indexador 'DefaultModelBindingMessageProvider.AttemptedValueIsInvalidAccessor', es de solo lectura
Y no pude encontrar ninguna propiedad que pudiera funcionar como setter para este objeto.
Desdeest Pues contest
En elStartup.cs
services.AddSingleton ();
y crea una clase como follow
public class LocalizedValidationAttributeAdapterProvider : IValidationAttributeAdapterProvider
{
private readonly ValidationAttributeAdapterProvider _originalProvider = new ValidationAttributeAdapterProvider();
public IAttributeAdapter GetAttributeAdapter(ValidationAttribute attribute, IStringLocalizer stringLocalizer)
{
/* override message */
}
}
Pero esto solo capturó laDataType
anotación