121 votes

Quelle est la meilleure façon d’ajouter un validateur supérieur à 0 côté client à l’aide de MVC et d’annotations de données ?

J’aimerais pouvoir autoriser l’envoi d’un formulaire uniquement si la valeur d’un certain champ est supérieure à 0. Je pensais que l’attribut Mvc Range me permettrait peut-être d’entrer uniquement 1 valeur pour signifier seulement un test supérieur à, mais pas de chance car il insiste sur les valeurs minimum ET maximum.

Des idées comment cela peut être réalisé?

296voto

Darin Dimitrov Points 528142

Vous ne pouvez pas stocker un nombre supérieur à ce que votre type de données sous-jacent pourrait contenir, de sorte que le fait que l’attribut Range nécessite une valeur maximale est une très bonne chose. N’oubliez pas que `` cela n’existe pas dans le monde réel, donc ce qui suit devrait fonctionner:

25voto

Phil Points 153

J’ai trouvé cette réponse en cherchant à valider toute valeur positive pour un float / double. Il s’avère que ces types ont une constante utile pour 'Epsilon'

Représente la plus petite valeur System.Double positive supérieure à zéro.

21voto

John Lord Points 195

Vous pouvez créer votre propre validateur comme ceci:

Ensuite, incluez ce fichier dans votre modèle et utilisez-le comme attribut comme ceci :

Je l’utilise couramment lors de la validation de la liste déroulante. Notez qu’étant donné qu’il étend validationattribute, vous pouvez personnaliser le message d’erreur avec un paramètre.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X