Validación de moneda personalizada: magento usando validate.js
-
16-10-2019 - |
Pregunta
Estoy buscando un camino hacia todos para la validación de divisas personalizadas utilizando Magento Validate.js nativos
Tengo un formulario que permite a los usuarios agregar precios personalizados a un campo de texto. Estoy usando las siguientes clases para validar las entradas:
validate-digits-range
digits-range-1-10
El problema es que el campo de texto está previamente poblado con el signo de moneda £
Entonces no pasará la validación.
He intentado adaptar el validate-currency-dollar
clase pero la prueba aún falla
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)
});
¿Alguien ha hecho esto antes puede compartir algunos consejos, por favor?
Solución
He cambiado un poco de expresión regular
/^[\$£]?\-?([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})?)$/
Pruébelo en lugar de los estándar.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange