Question

Je cherche un moyen de tous pour la validation personnalisée en utilisant la monnaie magento native validate.js

J'ai une forme qui permet aux utilisateurs d'ajouter des prix personnalisés à un champ de texte. J'utilise les classes suivantes pour valider les entrées:

validate-digits-range 

digits-range-1-10

Le problème est le champ de texte est pré-rempli avec le signe de la monnaie £ donc ne passera pas la validation.

J'ai essayé d'adapter la classe validate-currency-dollar mais le test échoue encore

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)
});

Quelqu'un at-il fait cela avant de pouvoir partager quelques conseils s'il vous plaît?

Était-ce utile?

La solution

J'ai un peu changé l'expression régulière

/^[\$£]?\-?([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})?)$/

Essayez-les au lieu de standard.

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top