validation Devise personnalisée - Magento en utilisant validate.js
-
16-10-2019 - |
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?
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