入力モード(IMEモード)の設定と注意点
みなさん、こんにちは。
今回は、Dynamics 365での入力モード(IMEモード)の設定と注意点を紹介したいと思います。
ご存知の方も多くいると思いますが、IMEモードは、Dynamics 365のフォーム上で入力させる値を半角英数のみにしたい場合などに設定を行うものです。
IMEモードの設定
Dynamics 365でIME モードの設定は、以下のフィールドに対して可能です。
- 1行テキスト
- 整数
- 浮動小数点数
- 10 進数
- 通貨型
- 複数行テキスト
- 日付と時間
また、IME モードに設定可能な値は、次の通りです。
- 自動
- 非アクティブ
- アクティブ
- 無効
IME モードの既定値ですが、すべて「自動」となっています。
そのため、整数や浮動小数点数、通貨型のように数字しか入力しない項目でも、全角文字列を入力することができてしまいます。
(もちろん、入力チェックでエラー表示されそのままレコードを保存することはできません。)
半角の英数字しか入力させたくない項目に対しては、IME モードに「無効」を設定することで、スクリプト等を準備せずに制限することができます。
また、日付と時間フィールドに関しては、和暦での入力も可能なため、IME モードは「自動」のままとしても良いですし、「非アクティブ」として初期状態では西暦で入力させるという方法も考えられます。
IME モード設定の注意点
IME モードの設定ができれば、フォーム上で半角英数しか入力させたくない場合の制御は十分できるように思えます。
しかし、1点大きな落とし穴があるのです。
フォーム上で手入力する場合には、IME モードの設定で半角英数しか入力できないですが、全角文字をコピー&ペーストした場合には、全角文字が設定でき、そのまま保存することもできてしまいます。
そのため、絶対に半角文字でしか登録させない場合には、JavaScriptなどで全角→半角の置換処理や入力チェックの処理の作成が必要となります。
標準機能での設定で十分制御できているものと考えられ、意外と見落とされがちな部分ですので、気を付けていただきたいと思います。
入力させたい内容に応じて、IME モードの設定をうまく活用するとある程度コーディングなしで半角英数のみ入力可能とするという制御が行えますので、ぜひ活用してみてください。
なお、本記事掲載時点では、Online環境でIME モードの設定が正しく動作しないようですので、設定が正しく動作する状態になってからお試しいただければと思います。