UNPKG

node-web-mvc

Version:
28 lines (27 loc) 1.1 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const Target_1 = __importDefault(require("../../servlets/annotations/Target")); const ElementType_1 = __importDefault(require("../../servlets/annotations/annotation/ElementType")); const Constraints_1 = __importDefault(require("./Constraints")); class Digits extends Constraints_1.default { constructor() { super(...arguments); this.message = '{validation.constraints.Digits.message}'; } isValid(value) { const [integer, fraction = ''] = String(value).split('.'); return integer.length <= this.integer && (fraction.length <= this.fraction || /^0+$/.test(fraction)); } } /** * 验证配置小数数值的整数位与小数位长度 * * 支持的类型 * - `Number` * * `null` 或者 `undefined` 则不做验证 */ exports.default = (0, Target_1.default)([ElementType_1.default.PROPERTY, ElementType_1.default.PARAMETER])(Digits);