Проверка сложного объекта с помощью блока проверки корпоративной библиотеки - PullRequest
1 голос
/ 13 февраля 2010

Использую проверку библиотеки предприятия.

У меня есть классы, как показано ниже

 public class Customer
    {

        public int Id { get; set; }
        [NotNullValidator(MessageTemplate = "{1} is null")]
        public string FirstName { get; set; }
        [NotNullValidator(MessageTemplate = "{1} is null")]
        public string Surname { get; set; }

    }

  public class Order
    {

        public int Id { get; set; }
        [NotNullValidator(MessageTemplate = "{1} is null")]
        public Customer Customer { get; set; }

    }

Когда я использую объект заказа, фамилия и имя имеют нулевое значение, проверка должна вступить в силу, но это не так.

Что я делаю не так?

Примечание: я использую его с WCF

Ответы [ 2 ]

5 голосов
/ 13 февраля 2010

Вы должны украсить свой объект Customer атрибутом [ObjectValidator]. Это обеспечит проверку приложением валидации графов объектов:

public class Order
{
    [ObjectValidator]
    public Customer Customer { get; set; }
}

Совет: Вам следует прочитать документ ValidationHOL.pdf (практические занятия), который поставляется вместе с Блок приложения проверки 4.1. Практические занятия (PDF является частью загрузки). Это даст вам много информации о VAB, которую будет сложно найти на вашем сайте.

0 голосов
/ 13 февраля 2010

Вы правильно объявили свои правила проверки, однако не подтвердили своего клиента (оцените правила). Проверка с помощью блока проверки библиотеки предприятия работает следующим образом:

ValidationResults r = Validation.Validate<Customer>(myCustomer);

См. Соответствующую статью MSDN .

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