プロジェクトごとにメーリングリストを作成する機会が多いため、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()の記事も拝見して、勉強いたします!本当に助かりました。