お世話になります。
アプリの入力項目でカナ名を設定してほしい項目、半角英数字限定で入力してほしい項目があるかと思います。そういった場合に入力制御を行う方法はありますでしょうか。
自動で入力が切り替われば一番良いですが、警告だけでも出せればいいなと考えております。
アドバイスお願い致します。
お世話になります。
アプリの入力項目でカナ名を設定してほしい項目、半角英数字限定で入力してほしい項目があるかと思います。そういった場合に入力制御を行う方法はありますでしょうか。
自動で入力が切り替われば一番良いですが、警告だけでも出せればいいなと考えております。
アドバイスお願い致します。
OHNさん
正規表現を使えば入力制限を行うことが可能だと思われます。以下はサンプルです。
(function() {
'use strict';
var EisuText_FieldCode = '英数字入力'; // 半角英数字入力フィールド(文字列1行)のフィールドコード
var KanaText_FieldCode = 'カナ入力'; // カナ入力フィールド(文字列1行)のフィールドコード
kintone.events.on('app.record.create.submit', function(event) {
var record = event.record;
var EisuText = record[EisuText_FieldCode].value;
var KanaText = record[KanaText_FieldCode].value;
if(!EisuText.match(/^[A-Za-z0-9\s]*$/)){
record[EisuText_FieldCode].error = '半角英数字以外の文字があります。';
}
if(!KanaText.match( /^[ァ-ヶー\s]*$/)){
record[KanaText_FieldCode].error = 'カナ文字以外の文字があります。';
}
return event;
});
})();
こちらの動作は項目に必ず何かしら入力されている前提で動作するのでしょうか。
必須項目でなく空白のままだと保存ができないのでそのあたり関係しているのでしょうか。
はい。
サンプルコードのままですと、フィールドが空欄の状態でレコードを登録しようとすると以下のようなエラーが出るかと思います。
Uncaught TypeError: Cannot read property ‘match’ of undefined
フィールドが空欄の状態でも登録したい場合は、入力チェックの前に”空欄であれば何もしない”という処理を加えれば良いかと思います。