InputMask
概要
機能
サンプル
パスワード
テンキーキーボードを使った電話番号の入力(携帯、タブレット、iPadのみ)
設定
説明
このサンプルは、InputMask コントロールの基本的な使用方法を示します。
- 高度な設定では、携帯電話、タブレット、iPadなどで適切なソフトキーボードの種類を表示するだけでなく、より多くのマスクにInputTypeプロパティを使用することもできます。
- OverwriteModeでは、入力したすべての文字がカーソル位置に表示されます。 文字がすでにその位置に存在する場合、それは置き換えられます。
ソース
IndexController.cs
using Microsoft.AspNetCore.Mvc; using System.Collections.Generic; using MvcExplorer.Models; using Microsoft.AspNetCore.Http; namespace MvcExplorer.Controllers { public partial class InputMaskController : Controller { private readonly ControlOptions _optionModel = new ControlOptions { Options = new OptionDictionary { {"Overwrite Mode",new OptionItem{ Values = new List<string> { "True", "False"}, CurrentValue = "True"}} } }; public ActionResult Index(IFormCollection collection) { _optionModel.LoadPostData(collection); ViewBag.DemoOptions = _optionModel; return View(); } } }
Index.cshtml
@{ ControlOptions optionsModel = ViewBag.DemoOptions; ViewBag.DemoSettings = true; } @section Scripts{ <style> .invalid-tooltip { background-color: red; color: yellow; opacity: 0.9; border-color: lightcoral; } </style> <script> var _invalidTooltip; c1.documentReady(function () { _invalidTooltip = new wijmo.Tooltip(); _invalidTooltip.cssClass = 'invalid-tooltip'; _invalidTooltip.position = 11; window.addEventListener('resize', function () { if (_invalidTooltip.isVisible) { _invalidTooltip.hide(); onInvalidInput(); } }); }) function onInvalidInput(input, e) { e && (e.cancel = true); _invalidTooltip.show("#invalidInput", "@Html.Raw(InputMaskRes.Index_Text13)"); } function onValueChanged(input, e) { _invalidTooltip && _invalidTooltip.hide(); } function valueChanged(sender) { var customMaskTrial = wijmo.Control.getControl("#imCustomTrial"); customMaskTrial.mask = sender.value; customMaskTrial.hostElement.title = 'Mask: ' + (sender.value || 'N/A'); } </script> } <div> <label> @InputMaskRes.Index_Text @Html.Raw(InputMaskRes.Index_Text12) </label> <c1-input-mask id="invalidInput" mask="000-00-0000" title="Mask: 000-00-0000" value="012342678" overwrite-mode="@Convert.ToBoolean(optionsModel.Options["Overwrite Mode"].CurrentValue)" invalid-input="onInvalidInput" value-changed="onValueChanged"></c1-input-mask> </div> <div> <label>@Html.Raw(InputMaskRes.Index_PhoneNumber)</label> <c1-input-mask mask="(999) 000-0000" title="Mask: (999) 000-0000" overwrite-mode="@Convert.ToBoolean(optionsModel.Options["Overwrite Mode"].CurrentValue)"></c1-input-mask> </div> <div> <label>@Html.Raw(InputMaskRes.Index_TryYourOwn)</label> <c1-input-mask id="imCustomInput" placeholder="@InputMaskRes.Index_EnterAnInputMask" value-changed="valueChanged"></c1-input-mask> <c1-input-mask id="imCustomTrial" placeholder="@InputMaskRes.Index_TryYourInputMask" overwrite-mode="@Convert.ToBoolean(optionsModel.Options["Overwrite Mode"].CurrentValue)"></c1-input-mask> </div> <div> <label>@Html.Raw(InputMaskRes.Index_InputDateWithMask)</label> <c1-input-date value="@DateTime.Now" format="d" mask="@InputMaskRes.Mask_Input_Date" title="Mask: @InputMaskRes.Mask_Input_Date"></c1-input-date> </div> <div> <label>@Html.Raw(InputMaskRes.Index_InputTimeWithMask)</label> <c1-input-time value="@DateTime.Now" format="t" mask="00:00 >LL" is-editable="true" title="Mask: 00:00 >LL"></c1-input-time> </div> <div> <label>@Html.Raw(InputMaskRes.Index_Text6)</label> <p> @Html.Raw(InputMaskRes.Index_Text7) <c1-input-mask placeholder="@InputMaskRes.Index_Placeholder3" input-type="password" title="InputType: password" overwrite-mode="@Convert.ToBoolean(optionsModel.Options["Overwrite Mode"].CurrentValue)"></c1-input-mask> </p> <p> @Html.Raw(InputMaskRes.Index_Text10) <c1-input-mask mask="(999) 000-0000" input-type="tel" title="InputType: tel, Mask: (999) 000-0000" overwrite-mode="@Convert.ToBoolean(optionsModel.Options["Overwrite Mode"].CurrentValue)"></c1-input-mask> </p> </div> @section Settings{ @await Html.PartialAsync("_OptionsMenu", optionsModel) } @section Description{ <p>@Html.Raw(InputMaskRes.Index_Text0)</p> <ul> <li>@Html.Raw(InputMaskRes.Index_Text11)</li> <li>@Html.Raw(InputMaskRes.Index_Text14)</li> </ul> }
マニュアル