お世話になっております。
ドロップダウンの値に応じて、フィールドコードの制御(必須項目化)を行いたい。を参照に項目の多いアプリを作成しております。以下のエラーを出したいですが、どなたかご教示いただけますでしょうか?どうぞよろしくお願い致します。
コードがうまく書けないところ
分類:bの時、bbの選択によってエラー表示させる
詳細:bb1bbb1 ; bb2
bbb2 ; bb3
bbb3
分類:a&cなら以下のコードで動いております。bの時bbは必須になりますが、bb1ならbbb1が必須になるというのができなくて・・
(function () {
"use strict";
var fieldsCtl = {
'a': {
'aa': true,
},
//bb以降が予想通り動かない・・
'b': {
'bb':{
'bb1': {
'bbb1': true,
},
'bb2':{
'bbb2': true,
},
'bb3':{
'bbb3': true,
},
}
},
'c': {
'cc': true,
},
}
var events = ['app.record.edit.change.分類' ,'app.record.create.change.分類','app.record.index.edit.change.分類',
'app.record.edit.show','app.record.create.show','app.record.index.edit.show'
];
kintone.events.on(events, function(event){
var record = event.record;
if (record['分類'].value) {
var ctl1 = fieldsCtl[record['分類'].value];
var fkeys = Object.keys(ctl1);
fkeys.map(function(fcode) {
record[fcode]['disabled'] = !ctl1[fcode];
if (!ctl1[fcode]) {
record[fcode].value = '';
}
});
}
return event;
});
kintone.events.on(['app.record.edit.submit','app.record.create.submit', 'app.record.index.edit.submit'], function(event){
var record = event.record;
if (record['分類'].value) {
var ctl1 = fieldsCtl[record['分類'].value];
var fkeys = Object.keys(ctl1);
fkeys.map(function(fcode) {
record[fcode]['disabled'] = !ctl1[fcode];
if (ctl1[fcode]) {
if (!record[fcode].value) {
record[fcode]['error'] = '必須項目!';
event.error = '必須項目 エラー';
}
}
else {
record[fcode].value = '';
}
});
}
return event;
});
})();