Skip to content

Commit d97c917

Browse files
committed
fix parameters of validators
1 parent 560d234 commit d97c917

File tree

1 file changed

+33
-32
lines changed

1 file changed

+33
-32
lines changed

src/utils/validators.js

+33-32
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,6 @@
11
import { defaults, isNil, isNumber, isString, isArray, isFunction } from "lodash";
22
import fecha from "fecha";
33

4-
function checkEmpty(value, required, messages) {
5-
if (isNil(value) || value === "") {
6-
if (required)
7-
return [msg(messages.fieldIsRequired)];
8-
else
9-
return [];
10-
}
11-
return null;
12-
}
13-
14-
function msg(text) {
15-
if (text != null && arguments.length > 1)
16-
for (let i = 1; i < arguments.length; i++)
17-
text = text.replace(/\{\d+?\}/, arguments[i]);
18-
19-
return text;
20-
}
21-
224
let resources = {
235
fieldIsRequired: "This field is required!",
246
invalidFormat: "Invalid format!",
@@ -50,15 +32,34 @@ let resources = {
5032
invalidTextContainSpec: "Invalid text! Cannot contains special characters"
5133
};
5234

35+
36+
function checkEmpty(value, required, messages = resources) {
37+
if (isNil(value) || value === "") {
38+
if (required)
39+
return [msg(messages.fieldIsRequired)];
40+
else
41+
return [];
42+
}
43+
return null;
44+
}
45+
46+
function msg(text) {
47+
if (text != null && arguments.length > 1)
48+
for (let i = 1; i < arguments.length; i++)
49+
text = text.replace(/\{\d+?\}/, arguments[i]);
50+
51+
return text;
52+
}
53+
5354
module.exports = {
5455

5556
resources,
5657

57-
required(value, field, messages = resources) {
58+
required(value, field, model, messages = resources) {
5859
return checkEmpty(value, field.required, messages);
5960
},
6061

61-
number(value, field, messages = resources) {
62+
number(value, field, model, messages = resources) {
6263
let res = checkEmpty(value, field.required, messages); if (res != null) return res;
6364

6465
let err = [];
@@ -75,21 +76,21 @@ module.exports = {
7576
return err;
7677
},
7778

78-
integer(value, field, messages = resources) {
79+
integer(value, field, model, messages = resources) {
7980
let res = checkEmpty(value, field.required, messages); if (res != null) return res;
8081

8182
if (!(Number(value) === value && value % 1 === 0))
8283
return [msg(messages.invalidNumber)];
8384
},
8485

85-
double(value, field, messages = resources) {
86+
double(value, field, model, messages = resources) {
8687
let res = checkEmpty(value, field.required, messages); if (res != null) return res;
8788

8889
if (!isNumber(value) || isNaN(value))
8990
return [msg(messages.invalidNumber)];
9091
},
9192

92-
string(value, field, messages = resources) {
93+
string(value, field, model, messages = resources) {
9394
let res = checkEmpty(value, field.required, messages); if (res != null) return res;
9495

9596
let err = [];
@@ -106,7 +107,7 @@ module.exports = {
106107
return err;
107108
},
108109

109-
array(value, field, messages = resources) {
110+
array(value, field, model, messages = resources) {
110111
if (field.required) {
111112

112113
if (!isArray(value))
@@ -127,7 +128,7 @@ module.exports = {
127128
}
128129
},
129130

130-
date(value, field, messages = resources) {
131+
date(value, field, model, messages = resources) {
131132
let res = checkEmpty(value, field.required, messages); if (res != null) return res;
132133

133134
let m = new Date(value);
@@ -151,7 +152,7 @@ module.exports = {
151152
return err;
152153
},
153154

154-
regexp(value, field, messages = resources) {
155+
regexp(value, field, model, messages = resources) {
155156
let res = checkEmpty(value, field.required, messages); if (res != null) return res;
156157

157158
if (!isNil(field.pattern)) {
@@ -161,23 +162,23 @@ module.exports = {
161162
}
162163
},
163164

164-
email(value, field, messages = resources) {
165+
email(value, field, model, messages = resources) {
165166
let res = checkEmpty(value, field.required, messages); if (res != null) return res;
166167

167168
let re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
168169
if (!re.test(value))
169170
return [msg(messages.invalidEmail)];
170171
},
171172

172-
url(value, field, messages = resources) {
173+
url(value, field, model, messages = resources) {
173174
let res = checkEmpty(value, field.required, messages); if (res != null) return res;
174175

175176
let re = /https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,4}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/g;
176177
if (!re.test(value))
177178
return [msg(messages.invalidURL)];
178179
},
179180

180-
creditCard(value, field, messages = resources) {
181+
creditCard(value, field, model, messages = resources) {
181182
let res = checkEmpty(value, field.required, messages); if (res != null) return res;
182183

183184
/* From validator.js code
@@ -212,15 +213,15 @@ module.exports = {
212213
return [msg(messages.invalidCardNumber)];
213214
},
214215

215-
alpha(value, field, messages = resources) {
216+
alpha(value, field, model, messages = resources) {
216217
let res = checkEmpty(value, field.required, messages); if (res != null) return res;
217218

218219
let re = /^[a-zA-Z]*$/;
219220
if (!re.test(value))
220221
return [msg(messages.invalidTextContainNumber)];
221222
},
222223

223-
alphaNumeric(value, field, messages = resources) {
224+
alphaNumeric(value, field, model, messages = resources) {
224225
let res = checkEmpty(value, field.required, messages); if (res != null) return res;
225226

226227
let re = /^[a-zA-Z0-9]*$/;
@@ -234,7 +235,7 @@ Object.keys(module.exports).forEach(name => {
234235
if (isFunction(fn)) {
235236
fn.locale = (customMessages) => {
236237
const messages = defaults(customMessages, resources);
237-
return (value, field) => fn(value, field, messages);
238+
return (value, field, model) => fn(value, field, model, messages);
238239
};
239240
}
240241
});

0 commit comments

Comments
 (0)