2017-04-27 3 views
-2

Ich habe Probleme mit der Erstellung einer Validierungsregel, die eine Zahl in Relation zu einer anderen validiert.JQuery validiert eine Zahl in Relation zu einer anderen

Ich habe eine Einstellung in meiner Software, die zwischen zwei Zahlen die maximale Differenz darstellt - in diesem Beispiel lassen Sie uns sagen, dass es bei 0.02

Say Nummer A 1.50 gesetzt wird. Nummer B kann jetzt nicht größer als 1.52 (1.50 + 0.02) sein. Wenn ein Benutzer 1.53 eingibt, wird diese Eingabe nicht validiert.

Wie kann ich das tun?

<input type="number" name="numberA" /> 
<input type="number" name="numberB" /> 
numberA: { 
    required: true 
}, 
numberB: { 
    required: true, 
    range: ?? 
} 

Vielen Dank im Voraus für alle Hilfe!

+2

Es gibt nichts in jQuery standardmäßig, dass wird dies bestätigen. Sie müssen Ihre eigene benutzerdefinierte Regel definieren, um ein Feld basierend auf dem Wert einer anderen –

+0

zu validieren. Sie haben auch vergessen zu erwähnen, dass 'numberB' in Ihrem Beispiel nicht kleiner als' numberA' oder '1.50' sein kann. Dies ist ein kritischer Teil der Information, um das Problem richtig zu lösen. – Sparky

Antwort

0

versuchen so etwas wie dieses

$("#myform").validate({ 
    rules: { 
    numberA: "required", 
    numberB: { 
     equalTo: "#numberA" 
    } 
    } 
}); 

, wenn es nicht funktioniert, dann bitte den Namen der Validierung jquery geben.

+0

Hallo, danke für deine Antwort, aber Nummer B soll nicht gleich Numeral sein. Siehe meine Lösung unten. –

0

Am Ende dort angekommen!

Hier ist der Code, den ich am Ende mit:

range: function() { 
     return [parseFloat($("#numberA").val()), parseFloat($("#numberA").val()) + 0.02]; 
    } 
+0

In Ihrem OP haben Sie vergessen zu erwähnen, dass "numberB" in Ihrem Beispiel nicht kleiner als "numberA" oder 1,50 sein kann. Dies ist ein kritischer Teil der Information, um das Problem mit der 'Bereich'-Methode richtig zu lösen. – Sparky

Verwandte Themen