日付の値が空白の場合、特定の文字を表示させたい

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

タイトルの件ですが、日付フィールドがあり、値が入っている場合は入っている日付をそのまま表示させ、値がない場合は、空白ではなく「未定」と表示させたいと思っています。

下記のようにコードを書いていますが、うまく行きません。

(function() {
    "use strict";
    kintone.events.on('app.record.index.show', function(event) {
        var record = event['record'];
        var day = record['日付_0_'].value;
        if (day !== 0) {
            record['日付_0_'].value[0].name: "未定"
            } else {
                record['日付_0_'].value
                }
        return event;
    });
})();

お手数でございますが、ご教授いただければ幸いでございます。

よろしくお願いいたします。

Nao さん

日付フィールドは決まったフォーマットでの入力しか受け付けないため、「未定」などの文字を入力することはできません。

(ご参考)日時のフォーマット

Shinichi Suenaga様

ご返信ありがとうございます。

日付は日付のフォーマットでしか表示が出来なかったのですね。。。

例えば、「—」左記のような表示なら可能なのでしょうか?

度々お手数でございますが、ご確認お願い致します。

Nao さん

残念ながら日付フィールドであれば「 YYYY-MM-DD」形式のみとなってしましますね。

 

ところで、今更ソースコードを見て気づいたのですが、一覧画面での処理ですね。

おやりになりたい内容は「 レコードの値を書き換える 」のではなく、「 一覧画面上での表示のみ変更する 」ことなのでしょうか?

てっきり前者なのかと思っていましたが、後者であれば、日付フォーマットは関係なく以下のようなコードで実現可能かと思います。

(function() {
    "use strict";
    kintone.events.on('app.record.index.show', function(event) {
var records = event.records;
var elements = kintone.app.getFieldElements('日付_0_');
// 1レコードずつ処理
        for(var i = 0; i < records.length; i++) {
// 日付に値がないとき
if(!records[i]['日付_0_'].value) {
elements[i].innerText = '未定'; // '---' でもOK
elements[i].style.verticalAlign = 'middle'; // 文字の位置調整
}
}
    });
})();

 

Shinichi Suenagas様

ご返信ありがとうございます。

Shinichi Suenagas様のおっしゃる通り、後者の「 一覧画面上での表示のみ変更する 」でございます。

ご教授いただいたように設定して、問題なく表示されました。

説明が分かりにくく申し訳ございませんでした。ありがとうございます。

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