UNPKG

node-web-mvc

Version:
35 lines (34 loc) 1.76 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const StringUtils_1 = __importDefault(require("../interface/StringUtils")); const placeholderRegexp = /(\{(\d|\w|\.)+\})/g; const cleanRegexp = /\{|\}/g; const resources = { 'validation.constraints.AssertFalse.message': 'must be fasle', 'validation.constraints.AssertTrue.message': 'must be true', 'validation.constraints.Digits.message': 'numeric value out of bounds (<{integer} digits>.<{fraction} digits> expected)', 'validation.constraints.Max.message': 'must be less than or equal to {value}', 'validation.constraints.Min.message': 'must be greater than or equal to {value}', 'validation.constraints.NotNull.message': 'must not be null', 'validation.constraints.Null.message': 'must be null', 'validation.constraints.Past.message': 'must be a past date', 'validation.constraints.Furture.message': 'must be a future date', 'validation.constraints.Pattern.message': 'must match "{regexp}"', 'validation.constraints.Size.message': 'size must be between {min} and {max}', }; class ValidationMessage { format(constraint) { if (!constraint) return ''; const message = String(constraint.message); return message.replace(placeholderRegexp, function (key) { const name = key.replace(cleanRegexp, ''); const value = name in constraint ? constraint[name] : StringUtils_1.default.format(resources[name], constraint); return StringUtils_1.default.isEmpty(value) ? '' : value; }); } } exports.default = ValidationMessage;