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.
ただし、各エラーの実際の順序は時々異なる可能性があるように思われます。同じエラーが表示されますが、順序が異なります。
これは、データが変更されていないことを知っていた単体テストでわかりました。かつて合格したテストは失敗していました。
誰かがこれに遭遇し、説明がありますか?
ありがとう。