お世話になります。
アプリの項目に入力制御(半角英数字のみチェック等)を行っているのですが、
サブテーブルの項目に対して同じ制御を入れても上手く動作しません。
サブテーブル項目についても入力制御する方法はありますでしょうか。
現在しようしている制御例は下記です
(function() {
'use strict';
var FuriText_FieldCode = 'ふりがな'; // 全角入力フィールド(文字列1行)のフィールドコード
kintone.events.on('app.record.create.submit', function(event) {
var record = event.record;
var FuriText = record[FuriText_FieldCode].value;
if (!event.record.ふりがな.value) return event;
if(!FuriText.match( /^[ぁ-んー]*$/)){
record[FuriText_FieldCode].error = '全角ひらがな以外の文字があります。';
}
return event;
});
})();
(function () {
'use strict';
const FuriText_FieldCode = 'ふりがな'; // 全角入力フィールド(文字列1行)のフィールドコード
kintone.events.on('app.record.create.submit', function (event) {
const record = event.record;
const FuriText = record[FuriText_FieldCode];
if (!FuriText.value) {
FuriText.error = '文字が入力されていません';
} else if (!FuriText.value.match(/^[ぁ-んー]*$/)) {
FuriText.error = '全角ひらがな以外の文字があります。';
}
const tablevalue = record.テーブル.value;
tablevalue.map((tablerow, i) => {
const rowvalue = tablerow.value.tableふりがな.value;
if (rowvalue) {
if (!rowvalue.match(/^[ぁ-んー]*$/)) {
return (record.テーブル.value[i].value['tableふりがな'].error = '全角ひらがな以外の文字があります');
}
} else {
return (record.テーブル.value[i].value['tableふりがな'].error = '文字が入力されていません');
}
});
return event;
});
})();
サブテーブルのフィールドコードは、テーブル
サブテーブル内の項目は、tableふりがなと想定しています。
mapの途中で、returnしたら動いたレベルなのでどこかで悪影響があるかもしれません。
少なくとも、エラーを見つけたらそこでエラーを返すので複数エラーがあった場合、指摘ははじめの一つだけになります。
そこまでしっかりやる必要があるかどうか?
>>harada 様
ご丁寧に回答いただきましてありがとうございます。
サブテーブルでの制御うまくできそうです!
確かにエラーについてサブテーブルまでどこまでをやるのかというのはありますね。
そのあたりも考えていきたいと思います。ありがとうございます。
system
(system)
クローズされました:
4
このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。