扩展Magento 2规则.js而不覆盖核心js文件?



是否可以覆盖Magento_Ui/js/lib/validation/rules.js文件而不映射 - 像下面的例子一样对文件进行映射?

var config = {
"map": {
"*" : {
'Magento_Ui/js/lib/validation/rules' : 'Test_Custom/js/validation/rules'
}
}
};

有没有一种更优雅的方式来添加也可以在结帐步骤中使用的表单验证?

谢谢

create requirejs-config.js in Vendor/Module/view/adminhtml/

var config = {
config: {
mixins: {
'Magento_Ui/js/lib/validation/rules': {
'Vendor_Module/js/lib/validation/rules': true
}
}
}
};

在供应商/模块/视图/基地/web/js/lib/validation 中创建规则.js

define([
'jquery',
'underscore',
'moment',
'mage/translate'
], function ($, _, moment) {
'use strict';
return function (validator) {
var validators = {
'validate-number-custom': [
function (value) {
console.log("You logic here");
return /^[a-zA-Z ]*$/i.test(value);
},
$.mage.__('Please enter a valid number in this field.')
]
};
validators = _.mapObject(validators, function (data) {
return {
handler: data[0],
message: data[1]
};
});
return $.extend(validator, validators);
};
});

最新更新