Как использовать DataAnnotations ErrorMessageResourceName с пользовательским решением для ресурсов - PullRequest
25 голосов
/ 27 февраля 2010

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

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

1 Ответ

51 голосов
/ 27 февраля 2010

Атрибут 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);
    }
}
...