Winkel-2 Benutzerdefinierte Validator: prüft, ob der Eingabe Wert ist eine ganze Zahl?
In einem Angular2 Projekt, das ich bestätigen müssen einige Eingaben.
Wie man sich leicht prüfen, ob eine Eingabe Wert ist eine ganze Zahl?
Versuchte ich mit Number(control.value)
gibt 0
für ein leeres Feld - nicht gut.
oder parseInt(control.value,10)
die dis-hält Räume:
Wenn ich sowas haben: 1 Raum 0,24 = 1 ,024
es gibt 1 - die Pässe der validator keine Fehler.
Lodash Funktionen wie: _.isInteger(control.value)
oder _.isNumeric(control.value)
//return false every time
-was zu erwarten ist, da eine Eingabe Wert ist eine Zeichenfolge, keine Zahl.
Methoden kombinieren, wie dies schafft eine chaotisch-Funktion mit vielen if/else-Anweisungen, und selbst dann, ich bin nicht sicher, ob ich die ganzen edge-Fällen. Ich brauche definitiv mehr straight-forward Ansatz. Irgendwelche Ideen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist der sauberste Weg die ich bisher gefunden:
app.component.html:
app.Komponente.ts:
Prüfungen.service.ts:
Genießen!
if(condition){ return true; } else { return false; }
? 🙂 Hast du nicht meinereturn (condition);
?return (parseFloat(value) == parseInt(value)) && !isNaN(value)
? #SorryForTheCodeGolfOCDEinfach erstellen Sie eine benutzerdefinierte validator:
dann verwenden Sie es in Ihrem Formular:
dies funktioniert auch mit inputs vom Typ text