エラー表示がどうしてもされません。。

いつもお世話になっております。

★部のエラー表示がどうしても出ません。

フィールドコード’status’が"対応"で、フィールドコード’people’が未入力だったときに、保存せず、フィールドにエラーを出すというのがしたいことです。

保存はされないので、一応、目的の動きはできているのですが、エラーを明示したく思っています。

ご教示頂ければ幸いです。

(function() {
‘use strict’;
   kintone.events.on(‘app.record.edit.submit’, function(event) {
   var record = event.record;

   var nowStatus = record[‘status’].value;
   var nowpeople = record[‘people’].value;
   if(nowStatus === “対応”){
      if (nowpeople){
      }else{
              record.people.error = ‘未入力!’; //★
              return false;
      }
   }
    return event;
});
})();

モツナベさん

こんにちは。

if 文の書き方を変えるといいと思います。
今回は「people」フィールドに値が存在しなかったら(= 未入力だったら)フィールドにエラーを表示する、ということがやりたいことですね。

まず、if 文の書き方として、以下のように書くとうまくいくと思います。

if (nowStatus === '対応') {
if (!nowpeople) {
record.people.error = '未入力!';
}
}

モツナベさんの書き方は、「people に値が存在していたら、何もせず、else 文の中身を実行する」という方法だったのですが、
上記のコードは「people に値が存在していなかったらフィールドにエラーを表示する(else 文は書かない)」という書き方をしています。

また、モツナベさんの書いたコードの中には、

if (nowpeople){
}else{
record.people.error = '未入力!'; //★
return false;
}

というように「return false;」の記載がありますが、不要です。
実際、この「return false;」という一文を削除もしくはコメントアウトすると
投稿したときのソースコードでもきちんと期待したエラーが表示できるかと思います。
もう一度フィールドにエラーを表示するのドキュメントに書いているサンプルコードを読み直してみると、
「return false;」とは書いていないですね。

kintone.events.on('app.record.edit.change.ドロップダウン_0', function(event) {
var record = event.record;
record['文字列_0'].error = 'このエラーメッセージを表示';
record.Table.value[0].value['文字列_1'].error = 'テーブルの1レコード目にエラーを表示';
return event;
});

 

mofuku

お世話になります。ご回答誠に有難うございます。

仰る通りにしましたらできました!よく読まないといけませんね。。