validate
ダイアログから送信される値が
受け取り可能な形式か?を判定する部分になります。
return false;→コミット(データを受け取り)されます
return true;→コミットされない(データを受け取らない)となります
例文(この例文は動作しません=判定用のifが設定されていない)
ダウンロード - validate.js.zip
validate: function (dialog) {
//送信された値を受け取って
var objValidate = dialog.store();
//ここの条件式でコミットするか?を判定します
if (objValidate == 1) {
console.println("return falseするとコミットされません");
return false;
} else {
console.println("return trueするとコミットされます");
return true;
}
},
例文
ダウンロード - adddialoglist.js.zip
//
//
//
//
//
// com.cocolog-nifty.quicktimer.icefloe
////////////////////////////////////////////////
var doTheDialogList = {
//初期化
initialize:
function (dialog) {
//validate時のエラーメッセージ
this.strError = "選んでください";
this.strAns1 = {
"選んでください": 1,
"神奈川県": 2,
"埼玉県": 3,
"千葉県": 4
};
//ダイアログにテキスト読み込み
dialog.load({
Ans1: this.strAns1
});
},
//コミット(OK後にデータ受け取り時)の処理
commit: function (dialog) {
var objResults = dialog.store();
this.strAns1 = objResults["Ans1"];
for(var i in this.strAns1) {
if ( this.strAns1[i] > 0 ) {
testValue = this.strAns1[i];
console.println("testValue:" + testValue);
}
}
},
validate: function (dialog) {
var objValidate = dialog.store();
this.strVal = objValidate["Ans1"];
for(var numChk in this.strVal) {
if ( this.strVal[numChk] > 0 ) {
ResultsValue = this.strVal[numChk];
console.println("testValue:" + ResultsValue);
}
}
if (ResultsValue == 1) {
dialog.load({
"Ans1":{
"選んでください": 0,
"神奈川県": 1,
"埼玉県": 2,
"千葉県": 3
}
});
return false;
} else {
return true;
}
},
//OK実行時の処理
ok: function (dialog) {
console.println("OKを実行しました");
},
//キャンセル時の処理
cancel: function (dialog) {
console.println("キャンセルしました");
},
//ダイアログが閉じられた時の処理
destroy: function (dialog) {
console.println("ダイアログを閉じました");
},
//値チェックバリデーション
//ここにダイアログの構成部品を記述
description:
{
name: "Dialog Box",
first_tab: "Ans1",
width: 427,
height: 190,
elements:
[
{
type: "cluster",
align_children: "align_top",
name: "clusterのタイトルはここ: ",
width: 420,
height: 120,
elements:
[
{
item_id: "Ans1",
type: "list_box",
next_tab: "Submit",
char_width: 36,
char_height: 16,
height: 100,
alignment: "align_left",
name: "Ans1",
font: "dialog",
bold: true,
italic: false,
multiline: false,
readonly: false,
password: false,
PopupEdit: false,
SpinEdit: false,
}
]
}, {
type: "cluster",
name: "送信部のクラスタのタイトル",
width: 420,
height: 40,
alignment: "align_center",
elements: [
{
item_id: "Submit",
name: "Submit",
alignment: "align_right",
type: "ok_cancel",
ok_name: "Ok",
cancel_name: "Cancel"
}
]
}
]
}
};
function addDialogList() {
app.execDialog(doTheDialogList);
}
////////////////メニュー部
menuParent = "Edit";
app.addMenuItem({
cName: "addDialogList",
cUser: "▼ダイアログリスト",
cLabel: "ダイアログリスト",
cTooltext: "ダイアログリスト",
cParent: menuParent,
cExec: "addDialogList()",
cEnable: "event.rc = true",
cMarked: "event.rc = false",
nPos: 7
});