Пользовательские аннотации проверки данных - ASP.NET MVC2 C # - PullRequest
1 голос
/ 19 октября 2010

У меня есть Viewmodel, который частично выглядит следующим образом ...

        [Required]
        public int Year { get; set; }

        [Required]
        [Range(1, 5000000)]
        public int ModelID { get; set; }

        [Required]
        public int ZipCode{ get; set;}

Я хочу добавить пользовательский атрибут валидатора, который проверяет базу данных, чтобы убедиться, что Zip действителен.Что-то вроде ...

        [Required]
        [IsValidZipcode]
        public int ZipCode{ get; set;}

Мне не удалось найти учебник в сети - я не думаю, что знаю, что искать, потому что это кажется обычным явлением.

Как мне поступить об этом?

Ответы [ 2 ]

4 голосов
/ 19 октября 2010

Просто создайте класс, унаследованный от класса ValidationAttribute, с помощью метода IsValid:

public class IsValidZipCode: ValidationAttribute
{
   public override bool IsValid(object value)
   {
      return db.ValidateSomething(value);
   }
}

Тогда все готово:

[IsValidZipCode(ErrorMessage = "Not a valid zip code!")]
public int ZipCode { get; set; }
3 голосов
/ 19 октября 2010

Вы расширяете ValidationAttribute, как показано в этой статье . ValidationAttribute имеет метод IsValid (), который можно переопределить, чтобы указать действительность модели.

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