|
1 | | -function validate (fields, { rules }) { |
| 1 | +function validate(fields, { rules }) { |
2 | 2 | if (isEmpty(fields)) { |
3 | 3 | return { valid: false, results: [] } |
4 | 4 | } |
5 | 5 |
|
6 | 6 | const checked = [] |
7 | 7 |
|
8 | | - Object.keys(fields).forEach((field) => { |
| 8 | + Object.keys(fields).forEach(field => { |
9 | 9 | const rule = rules.fields[field] |
10 | 10 |
|
11 | 11 | if (!rule) { |
12 | | - checked.push({ field, valid: false, message: `No validation rules for field ${field}`}) |
| 12 | + checked.push({ |
| 13 | + field, |
| 14 | + value: fields[field], |
| 15 | + valid: false, |
| 16 | + message: `No validation rules for field '${field}'`, |
| 17 | + }) |
13 | 18 | return |
14 | 19 | } |
15 | 20 |
|
16 | 21 | if (rule.validator(fields[field])) { |
17 | | - checked.push({ field, valid: true, message: '' }) |
| 22 | + checked.push({ field, value: fields[field], valid: true, message: '' }) |
18 | 23 | } else { |
19 | | - checked.push({ field, valid: false, message: rules.fields[field].message || 'Validation failed for field' }) |
| 24 | + checked.push({ |
| 25 | + field, |
| 26 | + value: fields[field], |
| 27 | + valid: false, |
| 28 | + message: |
| 29 | + rules.fields[field].message || |
| 30 | + `Validation failed for field '${field}'`, |
| 31 | + }) |
20 | 32 | } |
21 | 33 | }) |
22 | 34 |
|
23 | 35 | return { |
24 | | - valid: checked.every((current) => current.valid === true), |
25 | | - results: checked |
| 36 | + valid: checked.every(current => current.valid === true), |
| 37 | + results: checked, |
26 | 38 | } |
27 | 39 | } |
28 | 40 |
|
29 | 41 | function isEmpty(obj) { |
30 | | - return Object.keys(obj).length === 0; |
| 42 | + return Object.keys(obj).length === 0 |
31 | 43 | } |
32 | 44 |
|
33 | 45 | module.exports = { |
34 | 46 | validate, |
35 | | - ...require('./validation/index.js') |
| 47 | + ...require('./validation/index.js'), |
36 | 48 | } |
0 commit comments