Benutzerdefinierte Währungsvalidierung - Magento mit validat.js
-
16-10-2019 - |
Frage
Ich suche einen Weg zur benutzerdefinierten Währungsvalidierung mit nativem Magento validate.js
Ich habe ein Formular, mit dem Benutzer einem Textfeld benutzerdefinierte Preise hinzufügen können. Ich verwende die folgenden Klassen, um die Eingaben zu validieren:
validate-digits-range
digits-range-1-10
Das Problem ist, dass das Textfeld mit dem Währungszeichen vorgepopuliert wird £
Also wird keine Validierung bestehen.
Ich habe versucht, das anzupassen validate-currency-dollar
Klasse, aber der Test schlägt immer noch fehl
Validation.add('validate-currency-dollar', 'Please enter a valid $ amount. For example $100.00.', function(v) {
// [$]1[##][,###]+[.##]
// [$]1###+[.##]
// [$]0.##
// [$].##
return Validation.get('IsEmpty').test(v) || /^\$?\-?([1-9]{1}[0-9]{0,2}(\,[0-9]{3})*(\.[0-9]{0,2})?|[1-9]{1}\d*(\.[0-9]{0,2})?|0(\.[0-9]{0,2})?|(\.[0-9]{1,2})?)$/.test(v)
});
Hat jemand das schon einmal getan, um bitte Ratschläge zu geben?
Lösung
Ich habe mich ein bisschen regelmäßig verändert
/^[\$£]?\-?([1-9]{1}[0-9]{0,2}(\,[0-9]{3})*(\.[0-9]{0,2})?|[1-9]{1}\d*(\.[0-9]{0,2})?|0(\.[0-9]{0,2})?|(\.[0-9]{1,2})?)$/
Versuchen Sie es anstelle von Standard.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange