NHibernate Validator одно значение или другое - PullRequest
1 голос
/ 05 февраля 2010

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

    [OneOrOther("Group")]
    public string FirstName {get; set; }

    [OneOrOther("Group")]
    public string Surname {get; set; }

Ответы [ 2 ]

2 голосов
/ 05 февраля 2010

Я думаю, этот пост (http://devlicio.us/blogs/billy_mccafferty/archive/2009/07/30/writing-a-custom-nhibernate-class-validator.aspx) может быть применен в этом случае. Я думаю, единственное отличие состоит в том, что в примере используется взаимоисключающее условие (одно или другое, но не оба - XOR).

2 голосов
/ 05 февраля 2010

Да, вы можете создать свойство объекта, чтобы проверить, выполняется ли условие, а затем использовать один из декораторов nhibernate, чтобы проверить его действительность, т. Е. True.

Из документации:

Свойство AssertTrue проверяет, что метод оценивается как true (полезно для ограничений, выраженных в коде, а не в аннотациях)

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

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