Украсить поля модели метаданными из файла ресурсов - PullRequest
0 голосов
/ 29 ноября 2010
  • Я бы хотел отделить свое оформление атрибутов (3-4 на поле), чтобы они были где-то в другом месте, чтобы мой код выглядел читабельным.
  • Также аргументы, передаваемые некоторым атрибутам, должны быть получены изфайл ресурсов.EG: [Required("Cannot proceed without entering *field_Name*")] Мне нужно просто [Required]

Возможный дубликат этого вопроса (по которому я не удержался, предлагая вознаграждение): Ресурс по умолчанию для аннотаций данных .

Ответы [ 2 ]

3 голосов
/ 29 ноября 2010

Чтобы ответить на ваш первый вопрос, вы можете использовать классы друзей. Например, если у вас есть модель «Пользователь», вы можете создать класс приятеля «UserMetadata». Затем вы можете добавить атрибуты к свойствам в классе приятелей вместо основного класса. ASP.NET MVC полностью поддерживает это и будет использовать ваш класс друзей для таких вещей, как проверка и отображаемое имя. Вот как вы объявляете класс друзей:

[MetadataType(typeof(UserMetadata))]
public class User
{
    public string Name { get; set; }
}

public class UserMetadata
{

    [Required]
    public object Name { get; set; }

}

Обратите внимание, что тип свойства в классе собеседника всегда может быть "объектом", потому что MVC не смотрит на тип свойства в классах собеседника.

Обратите внимание, что MetadataTypeAttribute можно найти в пространстве имен System.ComponentModel.DataAnnotations.

По второму вопросу вы можете посмотреть ответ, который я разместил здесь: Ресурс по умолчанию для аннотаций данных в ASP.NET MVC

2 голосов
/ 03 декабря 2010

Для первого вопроса, возможно, вы могли бы попробовать использовать Свободная проверка .Вы можете подключить его к MVC, следуя этим инструкциям .

На второй вопрос я разместил ответ здесь: Ресурс по умолчанию для аннотаций данных в ASP.NET MVC

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...