Подтвердить что ты не робот

Как использовать DataAnnotations ErrorMessageResourceName с пользовательским решением для ресурсов

Я создаю веб-приложение MVC с С#. Поскольку сайт будет многоязычным, я реализовал свой собственный ResourceManager. Этот класс отвечает за выбор необходимых строк ресурсов из базы данных/кеша в зависимости от культуры потоков потоков и работает до сих пор.

Моя проблема заключается в том, что я хотел бы использовать собственное решение ResourceManager для получения сообщений об ошибках проверки, например, используя обязательный атрибут свойства. Это можно сделать?

4b9b3361

Ответ 1

RequiredAttribute позволяет использовать настраиваемый менеджер ресурсов:

[Required(
    ErrorMessageResourceType = typeof(CustomResourceManager), 
    ErrorMessageResourceName = "ResourceKey")]
public string Username { get; set; }

UPDATE:

Другая возможность - написать свой собственный атрибут:

public class CustomRequiredAttribute : RequiredAttribute
{
    public override string FormatErrorMessage(string name)
    {
        return YourCustomResourceManager.GetResource(name);
    }
}