Правила проверки EntLib Порядок действий? - PullRequest
1 голос
/ 09 марта 2010

Что определяет порядок выполнения правила проверки EntLib:

Учитывая следующее:

<ValidatorComposition(CompositionType.And, Ruleset:="Default")> _
<NotNullValidator(MessageTemplate:="Transaction ID is required.", Ruleset:="Default")> _
<TypeConversionValidator(GetType(Int64), MessageTemplate:="Transaction ID must be numeric.", Ruleset:="Default")> _
<RangeValidator("0", RangeBoundaryType.Exclusive, "0", RangeBoundaryType.Ignore, MessageTemplate:="Transaction ID may not be 0.", Ruleset:="Default")> _
<StringLengthValidator(1, RangeBoundaryType.Inclusive, 19, RangeBoundaryType.Inclusive, MessageTemplate:="Transaction ID must be between 1 and 19 characters in length.", Ruleset:="Default")> _

Если TransactionID отсутствует в экземпляре объекта, можно ожидать следующую добавленную строку ошибки:

Transaction ID must be numeric.Transaction ID must be between 1 and 19 characters in length.Transaction ID may not be 0.Transaction ID is required.

Однако может показаться, что фактический порядок каждой ошибки может время от времени отличаться. Появляются те же ошибки, но в другом порядке.

Я узнал об этом через модульное тестирование, где я знал, что данные не изменились, и когда-то проходившие тесты теперь терпели неудачу.

Кто-нибудь сталкивался с этим и получил объяснение?

Спасибо.

...