Stoppen Sie Geldfelder laden einen Wert, der ihre eigene Validierung scheitert

Fixkamo-internal
Verschifft
7. August 2026 um 04:05 UTC
Autor
kamo
Ausschuss
bf35f85

Die API speichert Geld als NUMERIC(19,4) und serialisiert es mit toPlainString(), also die versendete $50.00 Mindestabhebung kam als "50.0000" an. Beide Geldeinträge akzeptieren Sie höchsten Cents, so dass die Standardeinstellung leuchtete die ungültige-Beträge Fehler auf einem Formular Niemand hatte sich berührt. Das Bearbeiten einer bestehenden Provisionszeile hatte das gleiche Problem 100.0000 in der Beträgebox. toAmountInput() normalisiert sich für die Anzeige. Trailing Nullen vorbei am Cent werden fallen gelassen weil sie keinen Wert haben; alles, was an dem Cent vorbeigeht, wird zurückgegeben Unberührt, so dass eine echte Sub-Cent-Firche als das Validierungsproblem ist anstatt still abgerundet zu werden. String-only - Rundung durch Anzahl ist die Klasse von Bug, die Geld eine Zeichenkette hier in erster Linie gemacht. Allein die Normalisierung des angezeigten Wertes hätte einen zweiten Fehler eingeführt: beides Panels vergleichen den bearbeiteten Wert mit einer Grundlinie, um zu entscheiden, ob etwas ist Unermittelt, und der Vergleich eines normalisierten Feldes zu einem rohen gespeicherten Wert berichtet eine unberührte Form als schmutzig für immer. So normalisiert sich der Prozessor innen zuDraft, die produziert sowohl der Entwurf als auch seine Vergleichsgrundlage, und das Stripe-Panel normalisiert beide Seiten seines Checks. Tests decken die Paare ab, die tatsächlich diese Felder erreichen, plus die, wo Rundung würde jemandes Geld ändern, und behaupten, die Ausgabe befriedigt das Feld Muster, das dies begann.

Alle Änderungen

Wie, was Sie sehen Versand?

Jedes dieser Updates landet automatisch in Ihrem Arbeitsbereich. Starten Sie frei und beobachten Sie es Woche für Woche wachsen.

Free Forever startenPreisgestaltung anzeigen