確認用フィールドの設定について

プロジェクトごとにメーリングリストを作成する機会が多いため、ML作成申請フォームを作っています。

申請の間違いがないように、下図のとおり「メールアドレス」「メールアドレス(確認用)」のフィールドを設定して、2つの項目の入力内容が異なっていたらエラーを出したいです。

※現状、フィールドの種類はいずれも「文字列(1行)」。フィールドコードは「メールアドレス」を「アドレス1」、「メールアドレス(確認用)」を「アドレス2」としています。

Web上での検索を切り貼りして以下のようなソースコードを書きましたが、違う文字列を入力しても、そのまま保存ができてしまいます。

(function() {
  'use strict';
  var myEvent = ["app.record.create.submit", "app.record.edit.submit", "app.record.index.edit.submit"];
  kintone.events.on('myEvent', function(event) {
  if(event.record.アドレス1 != event.record.アドレス2){
    event.record.アドレス2.error="メールアドレスが一致しません。";
  }
  return event;
  });
})();

どのように修正をすればよいか、ご教示いただけるとありがたいです。

こんな感じにするとどうでしょうか?

(function() {
  'use strict';
 varmyEvent = ["app.record.create.submit","app.record.edit.submit","app.record.index.edit.submit"];
  kintone.events.on('myEvent',function(event) {
 if(event.record.アドレス1!= event.record.アドレス2){
    event.record.アドレス2.error="メールアドレスが一致しません。";
  event.error="エラーメッセージ";
  }
 returnevent;
  });
})();

以下を追加しました。

  event.error="エラーメッセージ";

あ、、、、

もしかしたら、イベントがちゃんと動いてないだけかもです。

kintone.events.on('myEvent',function(event) {

‘myEvent’ となっていますね。‘’ で囲ってしまうと文字列として扱われてしまうので、以下のように書くのが良いかなと。

kintone.events.on(myEvent,function(event) {

ありがとうございます!

'myEvent’の’をはずして、無事にエラーメッセージが出るようになったのですが、同じ文字列の場合もエラーが出てしまうようになりました。

以下の部分が何か間違っていますでしょうか…?

event.record.アドレス1!= event.record.アドレス2  

 

 

以下のようにすると良いかなーと思いますー。

event.record['アドレス1'].value !==event.record['アドレス2'].value

console.log() というのを使うとデバッグができるようになるので、以下の記事を参考にconsole.log を使えるようになると良いかもです!

https://qiita.com/mtanabe/items/49a116354c2ad9603942

ありがとうございます!おかげさまで、意図した設定にできました。

console.log()の記事も拝見して、勉強いたします!本当に助かりました。