1 |
|
/** *
|
2 |
|
* @param event
|
3 |
|
*
|
4 |
|
* @properties={typeid:24,uuid:"D48CBC8C-D9D1-412D-9F19-F5758F6532EA"}
|
|
1 |
/**
|
|
2 |
* @properties={typeid:35,uuid:"CF2372D8-BB0B-4CD0-B773-35AC29EABA09",variableType:-4}
|
5 |
3 |
*/
|
6 |
|
function validate(event) {
|
7 |
|
var requiredFields = {
|
|
4 |
var errors = [];
|
|
5 |
|
|
6 |
/**
|
|
7 |
* @properties={typeid:35,uuid:"A9994A6A-6D12-4354-9896-39F0BFD62E2E",variableType:-4}
|
|
8 |
*/
|
|
9 |
var requiredFields = {
|
8 |
10 |
freight : 'Freight',
|
9 |
11 |
orderdate : 'Order Date',
|
10 |
12 |
requireddate : 'Required Date',
|
... | ... | |
15 |
17 |
shippostalcode : 'Postal Code',
|
16 |
18 |
shipvia : 'Ship Via'
|
17 |
19 |
};
|
18 |
|
|
|
20 |
|
|
21 |
/**
|
|
22 |
* @param {JSEvent} event
|
|
23 |
*
|
|
24 |
* @properties={typeid:24,uuid:"D48CBC8C-D9D1-412D-9F19-F5758F6532EA"}
|
|
25 |
*/
|
|
26 |
function validate(event) {
|
|
27 |
errors = [];
|
19 |
28 |
for(field in requiredFields){
|
20 |
29 |
if(!foundset.getDataProviderValue(field)){
|
21 |
|
errorMessage = 'Missing required field: '+ requiredFields[field];
|
22 |
|
return false;
|
|
30 |
errors.push(field);
|
23 |
31 |
}
|
24 |
32 |
}
|
25 |
|
return _super.validate(event)
|
|
33 |
if (errors.length > 0) {
|
|
34 |
updateUI(event);
|
|
35 |
return false;
|
|
36 |
}
|
|
37 |
return _super.validate(event);
|
26 |
38 |
}
|
|
39 |
|
|
40 |
/**
|
|
41 |
* @param {JSEvent} event
|
|
42 |
*
|
|
43 |
*
|
|
44 |
* @properties={typeid:24,uuid:"72BA1A9E-F095-4F0E-B637-DD006F4B01C9"}
|
|
45 |
*/
|
|
46 |
function updateUI(event) {
|
|
47 |
var frm = solutionModel.getForm(controller.getName());
|
|
48 |
var labels = frm.getLabels();
|
|
49 |
if (errors.length > 0) {
|
|
50 |
while(errors.length > 0) {
|
|
51 |
var field = errors.pop();
|
|
52 |
for(var i in labels) {
|
|
53 |
var label = labels[i];
|
|
54 |
if (label.labelFor == field) {
|
|
55 |
label.foreground = '#FF0000';
|
|
56 |
}
|
|
57 |
}
|
|
58 |
}
|
|
59 |
} else {
|
|
60 |
for(var i in labels) {
|
|
61 |
var label = labels[i];
|
|
62 |
label.foreground = '#000000';
|
|
63 |
}
|
|
64 |
}
|
|
65 |
controller.recreateUI();
|
|
66 |
_super.updateUI(event);
|
|
67 |
}
|
|
68 |
|
|
69 |
/**
|
|
70 |
* Callback method for when form is shown.
|
|
71 |
*
|
|
72 |
* @param {Boolean} firstShow form is shown first time after load
|
|
73 |
* @param {JSEvent} event the event that triggered the action
|
|
74 |
*
|
|
75 |
* @properties={typeid:24,uuid:"962B7BCF-6075-499C-9DBD-8BB3B609346C"}
|
|
76 |
*/
|
|
77 |
function onShow(firstShow, event) {
|
|
78 |
errors = [];
|
|
79 |
return _super.onShow(firstShow, event)
|
|
80 |
}
|