自定义货币验证 - 使用Validate.js的洋红色
-
16-10-2019 - |
题
我正在寻找一种使用本机Magento validate.js的自定义货币验证的方法
我有一个表格,允许用户将自定义价格添加到文本字段中。我正在使用以下类来验证输入:
validate-digits-range
digits-range-1-10
问题是文本字段已预先使用货币标志 £
因此不会通过验证。
我试图适应 validate-currency-dollar
课程但测试仍然失败
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)
});
有人在此之前是否有这样做可以分享一些建议?
解决方案
我改变了一些正则表达
/^[\$£]?\-?([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})?)$/
尝试它而不是标准的。