2010-01-08 4 views
2

J'essaie d'utiliser la bibliothèque Enterprise RangeValidator attribut pour valider une valeur décimale est supérieure à zéro:Enterprise Library RangeValidator syntaxe

<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 

Cependant je reçois l'erreur de compilation

résolution de surcharge Échec car aucun 'Nouveau' accessible n'accepte ce nombre d'arguments. Pour autant que je puisse voir, j'utilise la surcharge correctement.

Cela fonctionne très bien si je supprime les paramètres liés à messageTemplate mais je veux être en mesure de spécifier un message personnalisé.

Quelqu'un at-il rencontré ce problème et l'a-t-il surmonté?

Répondre

4

Vous devez spécifier le messageTemplate dans le cadre des paramètres nommés:

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


Lorsque l'on regarde la documentation, assurez-vous que vous êtes à la recherche à la classe RangeValidatorAttribute et non la classe RangeValidator.

+0

Je reçois un 'MessageTemplate' n'est pas déclaré avec ceci ... – Simon

+0

Mon mauvais. A laisser un C# -ism glisser là-dedans. "=" aurait dû être ": =". –

+0

C'est tout. Merci! – Simon

Questions connexes