0

目前,我在我的类中定义了一组 EntLib 验证规则。规则稍后将根据客户端更改。

我想做的是保留我的类,并简单地调用为特定客户端定义的不同规则集。

其功能类似于将国际化值存储在 .resx 文件中,其中内容根据本地化参数而变化,但在这种情况下,预定义的规则将根据客户端而变化。

谢谢你。

4

1 回答 1

0

对于那些想知道的人,给定以下 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")>

...然后只需调用与登录客户端匹配的适当验证规则集。

啊EntLib。

于 2010-02-13T00:33:07.273 回答