初めまして。
エラー表示について質問させていただきます。
入力番号に応じて、別フィールドに名称を出力する機能を作っています。
成功時はそのまま出力、失敗時はエラー表示と前の値のクリアをしたいです。
エラー表示の方法として、表示したい対象フィールドにerorrを付けて、return eventやsetで表示できることは分かっています。
nullを入れていれば値のクリアができると思いますが、kintoneのエラー表示動作をすると処理も中断してしまうため、既存の値を残したままエラー表示が出てしまいます。
アラートを使うなどほかの方法は思いつきますが、kintoneのエラー表示では値をクリアしつつエラー表示をする方法はないのでしょうか?
調べたのですが見つけることができなかったので教えていただきたいです。
よろしくお願い致します。
こんにちは!
気になって色々と試してみました。
エラー表示のあとで、setIntervalして、その中でkintone.app.record.get()とset()
してみたらエラー表示しつつフィールドの値がクリアできそうです!
setIntervalよりも良い方法もあるかも知れないです![:sweat_drops: :sweat_drops:](/images/emoji/twitter/sweat_drops.png?v=12)
event.record.フィールドコード.error = "エラー";
const setIntervalId = setInterval(() => {
const obj = kintone.app.record.get();
obj.record.フィールドコード.value = "";
kintone.app.record.set(obj);
clearInterval(setIntervalId);
}, 100);
return event;
juridon様
こんにちは。
お世話になっております。
ご回答ありがとうございます。
申し訳ございません。処理の流れについて、自分の認識があっているか不安なので教えていただきたいです。
setIntervalは間隔を設定できる繰り返し処理と認識しています。
今回は繰り返し目的ではなく、時限爆弾的に埋めておいてエラー表示と中断の処理が過ぎた後に値のクリアを実行しているということでしょうか?
自分の認識を細かく書くと、
値のクリアの繰り返し処理をタイマー設定(処理を1度実行したら完了するように設定)
→return eventを実行。エラー表示&中断処理が完了
→設定しておいた値のクリアの繰り返し処理(setInterval)が起動
→繰り返し処理が1度実行されたので繰り返し処理を終了
こういう流れであっていますか?
また、自分の書いているものでkintoneUtilityを利用しているので、
できるだけreturn eventを使わず、setだけで値を出力してきました。
このケースだと下記コードでよさそうでしょうか?
自分で見たところ動作は問題なさそうです。
const obj = kintone.app.record.get();
obj.record.フィールドコード.error = “エラー”;
const setIntervalId = setInterval(() => {
const obj2 = kintone.app.record.get();
obj2.record.フィールドコード.value = " ";
kintone.app.record.set(obj2);
clearInterval(setIntervalId);
}, 100);
kintone.app.record.set(obj);
こんにちは!
>今回は繰り返し目的ではなく、時限爆弾的に埋めておいてエラー表示と中断の処理が過ぎた後に値のクリアを実行しているということでしょうか?
はい、そのとおりです!
私の環境ではreturn event;に邪魔されて?getとsetがうまく動いてくれず
苦し紛れのsetIntervalでした。
もしかしたらかずさんの環境ではsetInterval無くても大丈夫かもしれませんっ![:sparkles: :sparkles:](/images/emoji/twitter/sparkles.png?v=12)
![:sparkles: :sparkles:](/images/emoji/twitter/sparkles.png?v=12)
動作問題なさそうとのことで良かったです~^0^
こんにちは!
ありがとうございます。
おそらく自分の方でもsetIntervalが必要そうです。
処理中断の回避の発想が出てこなかったので非常に助かりました。
教えていただきありがとうございました。