Skip to content

Commit 2cb1ce6

Browse files
committed
addMessage method
1 parent c837293 commit 2cb1ce6

File tree

2 files changed

+28
-5
lines changed

2 files changed

+28
-5
lines changed

index.d.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -914,6 +914,14 @@ declare module "fastest-validator" {
914914
*/
915915
add(type: string, fn: CompilationFunction): void;
916916

917+
/**
918+
* Add a message
919+
*
920+
* @param {String} name
921+
* @param {String} message
922+
*/
923+
addMessage(name: string, message: string): void
924+
917925
/**
918926
* Register an alias in validation object
919927
* @param {string} name

lib/validator.js

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,10 @@
22

33
//const flatten = require("./helpers/flatten");
44
const deepExtend = require("./helpers/deep-extend");
5-
const defaultMessages = require("./messages");
5+
6+
function loadMessages() {
7+
return Object.assign({} , require("./messages"));
8+
}
69

710
function loadRules() {
811
return {
@@ -40,11 +43,9 @@ class Validator {
4043
* @param {Object} opts
4144
*/
4245
constructor(opts) {
43-
this.opts = {
44-
messages: deepExtend({}, defaultMessages)
45-
};
46+
this.opts = {};
4647
this.defaults = {};
47-
this.messages = this.opts.messages;
48+
this.messages = loadMessages();
4849
this.rules = loadRules();
4950
this.aliases = {};
5051
this.cache = new Map();
@@ -53,6 +54,10 @@ class Validator {
5354
deepExtend(this.opts, opts);
5455
if (opts.defaults) deepExtend(this.defaults, opts.defaults);
5556

57+
if (opts.messages) {
58+
for (const messageName in opts.messages) this.addMessage(messageName, opts.messages[messageName]);
59+
}
60+
5661
if (opts.aliases) {
5762
for (const aliasName in opts.aliases) this.alias(aliasName, opts.aliases[aliasName]);
5863
}
@@ -417,6 +422,16 @@ class Validator {
417422
this.rules[type] = fn;
418423
}
419424

425+
/**
426+
* Add a message
427+
*
428+
* @param {String} name
429+
* @param {String} message
430+
*/
431+
addMessage(name, message) {
432+
this.messages[name] = message;
433+
}
434+
420435
/**
421436
* create alias name for a rule
422437
*

0 commit comments

Comments
 (0)