# エラーのポップアップ表示について

**URL:** <https://community.cybozu.dev/t/topic/4873>\
**Category:** kintone 開発相談\
**Created:** [2020 年 2 月 6 日午前 9:38 UTC](https://community.cybozu.dev/t/topic/4873 "2020-02-06T09:38:54Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![Legacy\_Account1730](https://avatars.discourse-cdn.com/v4/letter/l/c6cbf5/32.png) [@Legacy\_Account1730](https://community.cybozu.dev/u/Legacy_Account1730)\
**Post date:** [2020 年 2 月 6 日午前 9:38 UTC](https://community.cybozu.dev/t/topic/4873/1 "2020-02-06T09:38:54Z")

</div>

入力画面から次の画面(確認画面)へ進む際に、特定のフィールドが入力されていないとき、必須項目に対するエラーではなく、ポップアップ等によるエラーを表示し、次に進めないようにすることは可能でしょうか。

---

<div class="post-metadata">

**Author:** ![Legacy\_Account795](https://avatars.discourse-cdn.com/v4/letter/l/94ad74/32.png) [@Legacy\_Account795](https://community.cybozu.dev/u/Legacy_Account795)\
**Post date:** [2020 年 2 月 10 日午前 5:32 UTC](https://community.cybozu.dev/t/topic/4873/2 "2020-02-10T05:32:22Z")

</div>

お世話になっております。

トヨクモの友利と申します。

ポップアップでエラーを表示する際、JavaScriptのalertを使用するのが良いと思います。

以下のコードでポップアップを表示することができます。

```
(function () {

'use strict';
let check = false
fb.events.form.created.push(function (state) {
//ここの0はブラウザの開発者ツール上のコンソールででfieldsと打った時のフィールドのインデックスです
state.fields[0].validations.push({
params: [],
rule: 'popup'
});
return state;
});

fb.addValidators = function (state) {
return {
popup: {
getMessage: function (fieldCode, params) {
if (!check) {
alert('メッセージ')
check = true
} else {
check = false
}
return 'メッセージ';
},
validate: function (value, params) {
return Boolean(value.trim().length);
}
}
};
};
})();

```

---

<div class="post-metadata">

**Author:** ![Legacy\_Account1730](https://avatars.discourse-cdn.com/v4/letter/l/c6cbf5/32.png) [@Legacy\_Account1730](https://community.cybozu.dev/u/Legacy_Account1730)\
**Post date:** [2020 年 2 月 10 日午前 6:57 UTC](https://community.cybozu.dev/t/topic/4873/3 "2020-02-10T06:57:32Z")

</div>

友利優希様

&nbsp;

お世話にになります。

アドバイスいただき、ありがとうございます。

fieldCodeの箇所を該当のフィールドコードに変更し試してみたところ、次に進めなくなっているのですが、

ポップアップが表示されませんでした。

javascript初心者で申し訳ありませんが、再度アドバイスいただけないでしょうか。

&nbsp;

---

<div class="post-metadata">

**Author:** ![Legacy\_Account795](https://avatars.discourse-cdn.com/v4/letter/l/94ad74/32.png) [@Legacy\_Account795](https://community.cybozu.dev/u/Legacy_Account795)\
**Post date:** [2020 年 2 月 13 日午前 6:32 UTC](https://community.cybozu.dev/t/topic/4873/4 "2020-02-13T06:32:40Z")

</div>

申し訳ありません。

```
(function () {
'use strict';
const code = 'string' //フィールドコード
fb.events.fields[code].changed.push(function (state) {
if (state.record[code].value.trim().length === 0) alert("メッセージ")
});
})();

```

こちらのコードではどうでしょうか？

---

<div class="post-metadata">

**Author:** ![Legacy\_Account1730](https://avatars.discourse-cdn.com/v4/letter/l/c6cbf5/32.png) [@Legacy\_Account1730](https://community.cybozu.dev/u/Legacy_Account1730)\
**Post date:** [2020 年 2 月 14 日午前 1:38 UTC](https://community.cybozu.dev/t/topic/4873/5 "2020-02-14T01:38:37Z")

</div>

友利優希様

&nbsp;

お世話になります。

ありがとうございます。

試してみましたが、アラートは表示されませんでした。

また、入力画面から次の画面(確認画面)へ進む際に、このアラートを表示させたいので、イベントをfb.events.form.confirmに変更して

試してみましたが、それでもアラートは表示されませんでした。

度々申し訳ありませんが、アドバイスいただけないでしょうか。

---

<div class="post-metadata">

**Author:** ![Legacy\_Account1730](https://avatars.discourse-cdn.com/v4/letter/l/c6cbf5/32.png) [@Legacy\_Account1730](https://community.cybozu.dev/u/Legacy_Account1730)\
**Post date:** [2020 年 2 月 14 日午前 9:34 UTC](https://community.cybozu.dev/t/topic/4873/6 "2020-02-14T09:34:39Z")

</div>

友利優希様

&nbsp;

お世話になります。

いろいろ試した結果、jQueryを組み合わせることで、アラートを表示させることに成功しました。

ただ、アラートは表示するのですが、アラート内のOKボタンをクリックすると、次の確認画面に進んでしまいます。

アラート等のポップアップを表示させて、且つ次の確認画面に進めないようにしたいのですが、何かやり方がありますでしょうか。

---

<div class="post-metadata">

**Author:** ![Legacy\_Account795](https://avatars.discourse-cdn.com/v4/letter/l/94ad74/32.png) [@Legacy\_Account795](https://community.cybozu.dev/u/Legacy_Account795)\
**Post date:** [2020 年 2 月 25 日午前 9:13 UTC](https://community.cybozu.dev/t/topic/4873/7 "2020-02-25T09:13:11Z")

</div>

fb.events.form.confirm内の関数は確認画面へ移動する際のeventであるため

この中で関数を発火させても確認画面には進んでしまうように出来ています。

&nbsp;

私の環境では上記のJavaScriptでアラートが表示できているので

再現するためにもう少し詳しく環境をお伺いしてもよろしいでしょうか？

（どういうタイプのフィールドを使用してるかのなど）

---

<div class="post-metadata">

**Author:** ![Legacy\_Account1730](https://avatars.discourse-cdn.com/v4/letter/l/c6cbf5/32.png) [@Legacy\_Account1730](https://community.cybozu.dev/u/Legacy_Account1730)\
**Post date:** [2020 年 2 月 26 日午前 2:57 UTC](https://community.cybozu.dev/t/topic/4873/8 "2020-02-26T02:57:36Z")

</div>

お世話になります。

ひとまずやり方を変えて問題は解決しましたので、大丈夫そうです。

親切にご対応いただき、ありがとうございました。

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex015/uploads/cybozu/original/1X/d5c841c3c5a6cb66eed514001c1b45147c9e1f4f.png) [@system](https://community.cybozu.dev/u/system)\
**Post date:** [2024 年 9 月 25 日午前 1:43 UTC](https://community.cybozu.dev/t/topic/4873/9 "2024-09-25T01:43:10Z")

</div>

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。
