UNPKG

tsbase

Version:

Base class libraries for TypeScript

29 lines 1.28 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.RangeValidation = void 0; var Command_1 = require("../../Patterns/CommandQuery/Command"); var RangeValidation = /** @class */ (function () { function RangeValidation(member, minimum, maximum, customErrorMessage) { this.member = member; this.minimum = minimum; this.maximum = maximum; this.customErrorMessage = customErrorMessage; } RangeValidation.prototype.Validate = function (object) { var _this = this; return new Command_1.Command(function () { var value = object[_this.member]; var valueIsNumeric = !isNaN(parseFloat(value.toString())); var valueWithinRange = valueIsNumeric && value >= _this.minimum && value <= _this.maximum; if (!valueWithinRange) { var label = object.LabelFor(_this.member); throw new Error(_this.customErrorMessage || "\"".concat(label, "\" must be within the range of ").concat(_this.minimum, " and ").concat(_this.maximum, ".")); } }).Execute(); }; return RangeValidation; }()); exports.RangeValidation = RangeValidation; //# sourceMappingURL=RangeValidation.js.map