Question

Je tente d'utiliser le validateur DecimalMin de la bibliothèque NHibernates Validator. Malheureusement, en raison du compilateur restrictions que je reçois des erreurs lors de la tentative de l'utiliser. Je suis sûr que son quelque chose de simple, mais je suis à un point où je dois passer à une autre tâche et ne brûle pas plus de temps sur elle de sorte que toute aide serait appréciée.

    [DecimalMin(10.01)]
    public decimal Amount { get; set; }

Le code ci-dessus utilise l'attribut DecimalMin avec la valeur de constructeur de 10,01. Le constructeur de l'attribut accepte les valeurs décimales. Cependant, le compilateur ne permettra pas à 10,01 ou 10.01m.

Avec 10,01 la valeur que je reçois: « Impossible de convertir le type de source « double » pour cibler le type « décimal »

10.01m que la valeur I reçoivent: « Un argument d'attribut doit être une expression constante, le type d'expression ou d'une matrice expression création d'un type de paramètre d'attribut. »

J'ai googlé autour d'essayer de trouver une réponse et mon google-fu me manque aujourd'hui.

Quelqu'un at-il un exemple de la façon d'utiliser ce validateur?

Était-ce utile?

La solution

Ceci est un bogue dans NHibernate.Validator. Décimales ne sont pas représentables dans les paramètres d'attribut.

utiliser des valeurs décimales comme params d'attribut dans c #?

La solution consiste à colmater NHibernate.Validator de sorte que le constructeur prend un flotteur ou double, puis effectuer la conversion en décimal dans le cteur. Je souhaiterais avoir une meilleure réponse pour vous.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top