Каковы преимущества использования аннотации данных над уровнем сервиса при проверке ASP.NET? - PullRequest
0 голосов
/ 11 февраля 2011

Я смотрю, как добавить проверку в мое веб-приложение. Срок действия некоторых моделей зависит от состояния других моделей в приложении.

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

Спасибо!

1 Ответ

2 голосов
/ 11 февраля 2011

MVC 3 / MVC 2 с .NET 4.0

Похоже, что вы хотите использовать IValidatableObject , Скотт Гу написал сообщение в блоге об этом.

Что я обычно делаю, если у меня есть модель Entity Framework и я хочу добавить пользовательскую проверку к своему объекту, я делаю частичный класс, как это:

public partial class MyObjectModel : IValidatableObject
{
    public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
    {
        if (someNumberProperty > anotherNumberProperty) 
            yield return new ValidationResult(
                    "someNumber property is larger than anotherNumberProperty", 
                                              new[] { "someNumberProperty" });
        if (someNumberProperty == 0) 
            yield return new ValidationResult("someNumber property cannot be 0", 
                                                new[] { "someNumberProperty" });

    }
}

MVC 2

Вот еще одна статья Скотта Гу о том, как добиться проверки модели , но вы можете посмотреть Custom Validation.

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