Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import debug from 'debug';
import validator from 'validator';
const log = debug('helper:form');
export class Form {
constructor(validation) { this.validation = validation; }
fill(object, check = true) {
for (let element in this.validation) {
this.validation[element].value = object[element];
if (check) {
this.validation[element].error = !this.isValid(element);
}
}
return this.validation;
} // end fill
isValid(element) {
if ("undefined" !== typeof element) { // check 1 element
if ("function" === typeof this.validation[element].convert) {
this.validation[element].checkValue =
this.validation[element].convert(this.validation[element].value);
} else if ("string" === typeof this.validation[element.convert]) {
this.validation[element].value =
validator[this.validation[element].convert](object[element]);
} else {
this.validation[element].checkValue = this.validation[element].value;
}
if (!validator[this.validation[element].validator](
this.validation[element].checkValue,
this.validation[element].options)) {
log("invalid value", element, this.validation[element].checkValue,
this.validation[element].value);
return false;
} else {
return true;
}
} else { // check everything
for (let e in this.validation) {
if (!this.isValid(e)) {
return false;
}
}
return true;
}
} // end isValid
}
exports.default = Form;