Несколько сценариев проверки для EntLib - стиль .resx? - PullRequest
0 голосов
/ 11 февраля 2010

В настоящее время у меня есть набор правил проверки EntLib, определенных в моих классах.Позднее правила будут меняться в зависимости от клиента.

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

Функциональностьэто похоже на сохранение значений интернационализации в файле .resx, где содержимое изменяется в зависимости от параметров локализации, но в этом случае предварительно определенные правила будут меняться в зависимости от клиента.

Спасибо.

1 Ответ

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

Для тех, кому интересно, задан следующий набор правил для параметра TerminalId:

<ValidatorComposition(CompositionType.And)> _
<NotNullValidator(MessageTemplate:="Terminal id is required.", Ruleset:="Default")> _
<StringLengthValidator(1, 19, MessageTemplate:="Terminal id must be between 1 and 19 digits in length.", Ruleset:="Default")> _
Public Property TerminalId() As String
    Get
        Return _TerminalId
    End Get
    Set(ByVal value As String)
        _TerminalId = value
    End Set
End Property

Простое добавление дополнительного идентификатора набора правил поможет.

<StringLengthValidator(1, 19, MessageTemplate:="Terminal id must be between 1 and 19 digits in length.", Ruleset:="Client1.Default")>
<StringLengthValidator(3, 10, MessageTemplate:="Terminal id must be between 3 and 10 digits in length.", Ruleset:="Client2.Default")>
<StringLengthValidator(5, 25, MessageTemplate:="Terminal id must be between 5 and 25 digits in length.", Ruleset:="Client3.Default")>

... затем просто вызывать соответствующий набор правил проверки, который соответствует зарегистрированному клиенту.

Ah EntLib.

...