tsbase
Version:
Base class libraries for TypeScript
29 lines • 1.28 kB
JavaScript
;
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