tsbase
Version:
Base class libraries for TypeScript
29 lines • 1.35 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.StringLengthValidation = void 0;
var Command_1 = require("../../Patterns/CommandQuery/Command");
var StringLengthValidation = /** @class */ (function () {
function StringLengthValidation(member, minimum, maximum, customErrorMessage) {
this.member = member;
this.minimum = minimum;
this.maximum = maximum;
this.customErrorMessage = customErrorMessage;
}
StringLengthValidation.prototype.Validate = function (object) {
var _this = this;
return new Command_1.Command(function () {
var value = object[_this.member];
var valueIsString = typeof value === 'string';
var valueWithinRange = valueIsString &&
value.length >= _this.minimum && value.length <= _this.maximum;
if (!valueWithinRange) {
var label = object.LabelFor(_this.member);
throw new Error(_this.customErrorMessage ||
"\"".concat(label, "\" length must be within ").concat(_this.minimum, " and ").concat(_this.maximum, " characters."));
}
}).Execute();
};
return StringLengthValidation;
}());
exports.StringLengthValidation = StringLengthValidation;
//# sourceMappingURL=StringLengthValidation.js.map