J'utilise plugin de validation jquery pour la validation du formulaire. L'utilisation de la propriété min
fonctionne très bien, mais je veux qu'elle valide les valeurs strictement supérieures à cette valeur min.
rules: {
price: {
required: true,
min: 13,
number: true
}
}
Dans mon code, j'ai min: 13
, mais je ne veux pas autoriser 13, uniquement des valeurs supérieures à 13, par exemple 13.10, 13.20, 14. Comment puis-je faire cela?
Merci d'avance !
Créez votre propre méthode personnalisée avec $.validator.addMethod
:
$.validator.addMethod('minStrict', function (value, el, param) {
return value > param;
});
Utilisez ensuite:
price: {
required: true,
minStrict: 13,
number: true
}
Remarque: Les créateurs du plugin validateur recommander ajouter Number.MIN_VALUE
à la valeur que vous fournissez:
min: 13 + Number.MIN_VALUE
Number.MIN_VALUE
est le plus petit flottant positif (non nul) que JS puisse gérer, d'où la logique que les deux instructions ci-dessous sont équivalentes:
a > b;
a >= b + Number.MIN_VALUE;
Mais , cela ne fonctionne pas, en raison de la façon dont les nombres à virgule flottante sont stockés en mémoire. L'arrondi entraînera b + Number.MIN_VALUE
égal à b
dans la plupart des cas (b
doit être très petit pour que cela fonctionne).