validation - 在不覆盖核心 js 文件的情况下扩展 Magento 2 rules.js?

标签 validation magento magento2 extend

是否可以在不映射的情况下覆盖 Magento_Ui/js/lib/validation/rules.js 文件 - 如下例所示?

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

是否有更优雅的方法来添加可在结帐步骤中使用的表单验证?

谢谢

最佳答案

在Vendor/Module/view/adminhtml/中创建requirejs-config.js

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

在Vendor/Module/view/base/web/js/lib/validation中创建rules.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);
  };
});

关于validation - 在不覆盖核心 js 文件的情况下扩展 Magento 2 rules.js?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44971910/

相关文章:

validation - 如何在 Firebase 中运行服务器端代码?

Magento - 向客户实体添加属性

php - 使用 PHP 获取重复的 session_id

css - 更改 Magento 2.0 主题中的 CSS

paypal 快速结帐不与 magento 2.2.4 同步

php - PHP 特征中的依赖注入(inject)

javascript - JQuery 删除模糊上的空白

validation - 如何向输入字段添加验证?

c# - 日期验证器/格式

forms - 如何在 magento 2 结帐、街道地址字段上添加工具提示?