ダブルクォーテーションを入力できないようにする。

テーブルの中に文字列(複数行)の項目があり、
保存時に詳細の文字列の中にダブルクォーテーションがあると、エラーを返し、保存できないようにするにはどうすれば良いでしょうか。

最初に書いてみたJavascriptが以下(抜粋部分)です。

    kintone.events.on( [‘app.record.create.submit’,‘app.record.edit.submit’]
, function(event) {

    “use strict”;

    var record = event[‘record’];

var tableRecords = event.record.テーブル.value;

for (var i = 0; i < tableRecords.length; i++) {

if(tableRecords[i].value.詳細.value.indexOf(‘"’)>-1){

event.error = ‘ダブルクォーテーションが入っているので保存できません。’

};

return event;

});

 

試しに、「"test」と入力し、console.log(tableRecords[i].value.詳細.value.indexOf(‘"’)>-1)で確認したところ、falseになってしまいました。

{}の数があっていないのが原因です。
まず、‘use strict’;は即時関数内に記述します。

(function() {
'use strict';
// ここにkintoneカスタマイズを記載
})();

あとはif文またはfor文に対応する } がありません。
(なお、if・forともに最後のセミコロンは不要です)

よって下記のコードになると思います。

(function () {
'use strict';
kintone.events.on(
['app.record.create.submit', 'app.record.edit.submit'],
function (event) {
var record = event['record'];
var tableRecords = event.record.テーブル.value;

for (var i = 0; i < tableRecords.length; i++) {
if (tableRecords[i].value.詳細.value.indexOf('"') > -1) {
event.error =
'ダブルクォーテーションが入っているので保存できません。';
}
}
return event;
}
);
})();

ウレット様
ご丁寧にありがとうございます!
Javascriptの超初心者なので、非常に助かりました。
無事解決し、また今後の参考にさせていただきます。