2
2
3
3
//const flatten = require("./helpers/flatten");
4
4
const deepExtend = require ( "./helpers/deep-extend" ) ;
5
- const defaultMessages = require ( "./messages" ) ;
5
+
6
+ function loadMessages ( ) {
7
+ return Object . assign ( { } , require ( "./messages" ) ) ;
8
+ }
6
9
7
10
function loadRules ( ) {
8
11
return {
@@ -40,11 +43,9 @@ class Validator {
40
43
* @param {Object } opts
41
44
*/
42
45
constructor ( opts ) {
43
- this . opts = {
44
- messages : deepExtend ( { } , defaultMessages )
45
- } ;
46
+ this . opts = { } ;
46
47
this . defaults = { } ;
47
- this . messages = this . opts . messages ;
48
+ this . messages = loadMessages ( ) ;
48
49
this . rules = loadRules ( ) ;
49
50
this . aliases = { } ;
50
51
this . cache = new Map ( ) ;
@@ -53,6 +54,10 @@ class Validator {
53
54
deepExtend ( this . opts , opts ) ;
54
55
if ( opts . defaults ) deepExtend ( this . defaults , opts . defaults ) ;
55
56
57
+ if ( opts . messages ) {
58
+ for ( const messageName in opts . messages ) this . addMessage ( messageName , opts . messages [ messageName ] ) ;
59
+ }
60
+
56
61
if ( opts . aliases ) {
57
62
for ( const aliasName in opts . aliases ) this . alias ( aliasName , opts . aliases [ aliasName ] ) ;
58
63
}
@@ -417,6 +422,16 @@ class Validator {
417
422
this . rules [ type ] = fn ;
418
423
}
419
424
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
+
420
435
/**
421
436
* create alias name for a rule
422
437
*
0 commit comments