UNPKG

@aliretail/react-materials-components

Version:
50 lines (35 loc) 2.1 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports["default"] = void 0; var _LogicalEditor = _interopRequireDefault(require("./LogicalEditor")); var _map = require("./map"); var _Single = _interopRequireDefault(require("./Single")); var _FormError = require("../FormError"); var LogicalEditor = _LogicalEditor["default"]; LogicalEditor.registerConditionComponent = _map.registerConditionComponent; LogicalEditor.validator = function (rule, value, required) { var _ref2; var _ref = rule || {}, requiredFromRule = _ref.required; var realRequired = (_ref2 = requiredFromRule !== null && requiredFromRule !== void 0 ? requiredFromRule : required) !== null && _ref2 !== void 0 ? _ref2 : false; // 如果必选,校验全部 if (realRequired) { return (0, _FormError.validate)('LogicalEditor'); } else { var _value$conditionGroup, _value$conditionGroup2, _value$conditionGroup3, _value$conditionGroup4; // 如果非必填,则判断只有一条的未填的时候就通过 if (value === undefined) { return (0, _FormError.pass)('LogicalEditor'); } if (((_value$conditionGroup = value.conditionGroups) === null || _value$conditionGroup === void 0 ? void 0 : _value$conditionGroup.length) === 1 && // 只有一个条件组 ((_value$conditionGroup2 = value.conditionGroups[0].conditions) === null || _value$conditionGroup2 === void 0 ? void 0 : _value$conditionGroup2.length) === 1 && // 条件组中只有一个条件 ((_value$conditionGroup3 = value.conditionGroups[0].conditions) === null || _value$conditionGroup3 === void 0 ? void 0 : (_value$conditionGroup4 = _value$conditionGroup3[0]) === null || _value$conditionGroup4 === void 0 ? void 0 : _value$conditionGroup4.key) === undefined // 这个条件没有选关系类型 ) { return (0, _FormError.pass)('LogicalEditor'); } return (0, _FormError.validate)('LogicalEditor'); } }; LogicalEditor.Single = _Single["default"]; var _default = LogicalEditor; exports["default"] = _default;