edit.showとcreate.showでの空白判定について

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

数値フィールドの空白を判定した動きをしたいのですが、

console.logで見ると

新規作成時は「undifind」の判定となりますが

編集時は空白の判定となります。

このようなものでしょうか?

 

ご教示の程よろしくお願いいたします。

青山昌司様

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

私の環境でも,「create.show」では「undefined」,「edit.show」では「‘’」(空文字)となりました.
因みに,kintone.app.record.getで取得すると,新規作成時と編集時共に「undefined」となりました.

未入力の判定は,「==」(等価演算子)を使った判定はせずに,暗黙の型変換でboolean型(trueまたはfalse)にするのが手軽かと思います.

・冗長なコード

if(event.record['数値'].value !== '' && event.record['数値'].value !== undefined) {
  alert('数値が空ではないです.');
}

if(event.record['数値'].value === '' || event.record['数値'].value === undefined) {
  alert('数値が空です.');
}

・手軽なコード

if(event.record['数値'].value) {
  alert('数値が空ではないです.');
}

if(!event.record['数値'].value) {
  alert('数値が空です.');
}

ifやwhileの()の中にboolean型以外の値を入れると,自動でtrueかfalseに変換してくれます.
どんな値がtrueで,どんな値がfalseになるかはJavaScriptの仕様で決まっています.
「undefined」と「‘’」(空文字)は共にfalseとなるので,未入力はfalseになると覚えておくと良いです.

下記なども一度目を通しておくと良いかと思います.
https://developer.cybozu.io/hc/ja/articles/201718170
https://developer.cybozu.io/hc/ja/community/posts/115017919303
https://qiita.com/phi/items/723aa59851b0716a87e3

江田様

 

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

いつもご返信ありがとうございます!

仕様という事でまた一つ勉強になりました。

参考のページもありがとうございます。

イベントの種類で判定が変わるとは思いませんでした。

今後ともよろしくお願いいたします。