Ich habe eine Dezimalzahl price
Feld in meinem Produktmodell und eine einfache Validierung:Wie verhindert man, dass Rails den Inhalt des Eingabefeldes ändert, wenn die Validierung fehlschlägt?
class Price < ActiveRecord::Base
...
validates_numericality_of :price
...
end
Wenn ich versehentlich geben 33.0p
, heißt es: „Der Preis ist keine Zahl“ (Ich stimme zu), und ändert die Inhalt des Eingabefeldes von 33.0p
bis 33.0
.
Also, wenn ich 33.0p
und drücken Sie die Schaltfläche Senden schnell (denken, dass alles in Ordnung ist), werde ich die Fehlermeldung erhalten. Dann werde ich in das Eingabefeld schauen, um zu sehen, was falsch ist. Aber da werde ich eine gültige Nummer sehen (33.0
), und ich werde mich fragen "Was ist los ...?".
Gibt es eine Möglichkeit zu verhindern, dass Rails den Inhalt des Eingabefeldes ändert, wenn die Validierung fehlschlägt?
Das ist noch besser: ': value => @ product.price_before_type_cast'. Danke vielmals !!! –