efront 3.19.1 → 3.19.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/coms/basic/submit_.js +40 -0
- package/coms/basic/valid.js +8 -0
- package/coms/zimoli/field.js +2 -0
- package/coms/zimoli/submit.js +6 -39
- package/package.json +1 -1
- package/public/efront.js +1 -1
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
function submit(fields, data) {
|
|
2
|
+
var params = {};
|
|
3
|
+
var inputs = [];
|
|
4
|
+
var select = [];
|
|
5
|
+
var checks = [];
|
|
6
|
+
var id = 0;
|
|
7
|
+
for (var f of fields) {
|
|
8
|
+
var error = valid(f, data);
|
|
9
|
+
if (error === "empty") {
|
|
10
|
+
if (f.options instanceof Array || /date|time|range|switch|swap|radio/i.test(f.type)) {
|
|
11
|
+
if (!select.id) select.id = ++id;
|
|
12
|
+
select.push(f);
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
if (!inputs.id) inputs.id = ++id;
|
|
16
|
+
inputs.push(f);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
else if (error) {
|
|
20
|
+
checks.push(f);
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
params[f.key] = data[f.key];
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
if (checks.length + select.length + inputs.length) {
|
|
27
|
+
var errors = [];
|
|
28
|
+
if (inputs.length) errors.push("请输入" + inputs.map(f => f.name).join("、"));
|
|
29
|
+
if (select.length) errors.push("请选择" + select.map(f => f.name).join("、"));
|
|
30
|
+
if (select.id < inputs.id) {
|
|
31
|
+
errors = errors.reverse();
|
|
32
|
+
}
|
|
33
|
+
if (checks.length) {
|
|
34
|
+
errors.push(checks.map(f => f.name).join("、") + "格式错误");
|
|
35
|
+
}
|
|
36
|
+
errors = errors.join(",") + "!";
|
|
37
|
+
throw errors;
|
|
38
|
+
}
|
|
39
|
+
return params;
|
|
40
|
+
}
|
package/coms/basic/valid.js
CHANGED
|
@@ -6,5 +6,13 @@ function valid(field, data) {
|
|
|
6
6
|
}
|
|
7
7
|
return;
|
|
8
8
|
}
|
|
9
|
+
if (field.valid instanceof Function) {
|
|
10
|
+
var e = field.valid(data[field.key]);
|
|
11
|
+
if (e) return e;
|
|
12
|
+
}
|
|
13
|
+
if (field.options instanceof Function) {
|
|
14
|
+
var e = field.options(data[field.key]);
|
|
15
|
+
if (e) return e;
|
|
16
|
+
}
|
|
9
17
|
return error;
|
|
10
18
|
}
|
package/coms/zimoli/field.js
CHANGED
package/coms/zimoli/submit.js
CHANGED
|
@@ -1,41 +1,8 @@
|
|
|
1
|
-
function submit(
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
for (var f of fields) {
|
|
8
|
-
var error = valid(f, data);
|
|
9
|
-
if (error === "empty") {
|
|
10
|
-
if (f.options || /date|time|range|switch|swap|radio/i.test(f.type)) {
|
|
11
|
-
if (!select.id) select.id = ++id;
|
|
12
|
-
select.push(f);
|
|
13
|
-
}
|
|
14
|
-
else {
|
|
15
|
-
if (!inputs.id) inputs.id = ++id;
|
|
16
|
-
inputs.push(f);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
else if (error) {
|
|
20
|
-
checks.push(f);
|
|
21
|
-
}
|
|
22
|
-
else {
|
|
23
|
-
params[f.key] = data[f.key];
|
|
24
|
-
}
|
|
1
|
+
function submit() {
|
|
2
|
+
try {
|
|
3
|
+
submit_.apply(this, arguments);
|
|
4
|
+
} catch (e) {
|
|
5
|
+
alert(String(e), 'warn');
|
|
6
|
+
throw e;
|
|
25
7
|
}
|
|
26
|
-
if (checks.length + select.length + inputs.length) {
|
|
27
|
-
var errors = [];
|
|
28
|
-
if (inputs.length) errors.push("请输入" + inputs.map(f => f.name).join("、"));
|
|
29
|
-
if (select.length) errors.push("请选择" + select.map(f => f.name).join("、"));
|
|
30
|
-
if (select.id < inputs.id) {
|
|
31
|
-
errors = errors.reverse();
|
|
32
|
-
}
|
|
33
|
-
if (checks.length) {
|
|
34
|
-
errors.push(checks.map(f => f.name).join("、") + "格式错误");
|
|
35
|
-
}
|
|
36
|
-
errors = errors.join(",") + "!";
|
|
37
|
-
alert(errors, 'error');
|
|
38
|
-
throw new Error(errors);
|
|
39
|
-
}
|
|
40
|
-
return params;
|
|
41
8
|
}
|