ts-api-core
Version:
Nodejs api framework core
63 lines • 2.19 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.PageSizeValidator = exports.PageIndexValidator = exports.NumberValidator = void 0;
const abstract_validator_1 = require("../abstract.validator");
/**
* 数字类参数校验类
* @param message
* @param max
* @param min
* @param defaultValue
*/
class NumberValidator extends abstract_validator_1.AbstractValidator {
constructor(message = "参数校验错误", max, min, defaultValue, must) {
super();
this.max = max;
this.min = min;
this.defaultValue = defaultValue;
this.must = must;
this.setDefaultMessage(message);
}
valid(paramValue, doUpdateValue) {
const param = Number(paramValue);
if (Number.isNaN(param)) {
this.convertMessage("参数值不是数字类型");
return false;
}
if (this.max !== undefined) {
if (param > this.max) {
this.convertMessage("参数值不能大于" + this.max.toString());
return false;
}
}
if (this.min !== undefined) {
if (param < this.min) {
this.convertMessage("参数值不能小于" + this.min.toString());
return false;
}
}
doUpdateValue(param);
return true;
}
getDefaultValue() {
return this.defaultValue;
}
isMust() {
var _a;
return (_a = this.must) !== null && _a !== void 0 ? _a : true;
}
}
exports.NumberValidator = NumberValidator;
class PageIndexValidator extends NumberValidator {
constructor(defaultValue = 1, message) {
super(message, 100000, 1, defaultValue);
}
}
exports.PageIndexValidator = PageIndexValidator;
class PageSizeValidator extends NumberValidator {
constructor(defaultValue = 50, message, max, min) {
super(message, max !== null && max !== void 0 ? max : 10000, min !== null && min !== void 0 ? min : 1, defaultValue);
}
}
exports.PageSizeValidator = PageSizeValidator;
//# sourceMappingURL=number.validator.js.map