UNPKG

@piscium2010/v-form

Version:

This is not a form, instead it is only a form shell of which the single responsibility is validating and providing error messages. Capable of definding flexiable rules and validating multi fields at a time.

60 lines (46 loc) 1.38 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _vRule = _interopRequireDefault(require("v-rule")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function create(ruleStore) { var validation = _vRule["default"].create(ruleStore); var forms = new Map(); // listeners var test = validation.test, testAllRules = validation.testAllRules; var notify = function notify(result) { var messages = result.messages; window.setTimeout(function () { forms.forEach(function (onMessages) { onMessages(messages); }); }, 100); }; validation.addListener = function (instance, onMessages) { forms.set(instance, onMessages); }; validation.removeListener = function (instance) { forms["delete"](instance); }; validation.test = function (values, context) { var result = test(values, context); notify(result); return result; }; validation.testAllRules = function (values, context) { var result = testAllRules(values, context); notify(result); return result; }; validation.has = function (instance) { return forms.has(instance); }; return validation; } var v = Object.assign({}, _vRule["default"], { create: create }); var _default = v; exports["default"] = _default;