node-web-mvc
Version:
node spring mvc
35 lines (34 loc) • 1.76 kB
JavaScript
;
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;