企业库RangeValidator语法

时间:2010-01-08 11:02:50

标签: .net vb.net validation

我正在尝试使用Enterprise Library RangeValidator属性来验证十进制值是否大于零:

<RangeValidator(GetType(Decimal), "0.00", RangeBoundaryType.Exclusive, "1", RangeBoundaryType.Ignore, "MyMessage", "", Nothing, False, "", "")> _
    Public Property Holding() As Decimal
        Get
            Return _Holding
        End Get
        Set(ByVal value As Decimal)
            _Holding = value
        End Set
    End Property

但是我得到了编译错误

  

重载解析失败,因为没有可访问的'New'接受此数量的参数。

据我所知,我正在正确使用过载。如果我删除了messageTemplate相关参数但我希望能够指定自定义消息,它可以正常工作。

有没有人遇到过这个问题并克服它?

1 个答案:

答案 0 :(得分:4)

您需要将messageTemplate指定为命名参数的一部分:

<RangeValidator(GetType(Decimal), "0.00", RangeBoundaryType.Inclusive, "0.00", RangeBoundaryType.Ignore, MessageTemplate := "Value must be greater than 0.")> _


查看文档时,请确保您正在查看RangeValidatorAttribute类而不是RangeValidator类。