テキスト ボックスで特定の文字だけを許可する (C#)
作成者: Christian Wenz
ASP.NET 検証コントロールでは、ユーザー入力で特定の文字のみが許可されるようにすることができます。 ただし、それでもユーザーが無効な文字を入力してフォームを送信しようとするのを防ぐことはできません。
概要
ASP.NET 検証コントロールでは、ユーザー入力で特定の文字のみが許可されるようにすることができます。 ただし、それでもユーザーが無効な文字を入力してフォームを送信しようとするのを防ぐことはできません。
手順
ASP.NET AJAX Control Toolkit には、テキスト ボックスを拡張する FilteredTextBox
コントロールが含まれています。 アクティブにすると、特定の文字セットしかフィールドに入力できません。
これを機能させるには、まず、ASP.NET AJAX Control Toolkit でも使用される JavaScript ライブラリを読み込む ASP.NET AJAX ScriptManager
が通常どおり必要です。
<asp:ScriptManager ID="asm" runat="server" />
次に、テキスト ボックスが必要です。
Numbers only: <asp:TextBox ID="TextBox1" runat="server" />
最後に、FilteredTextBoxExtender
コントロールは、ユーザーが入力できる文字を制限する処理を行います。 まず、TargetControlID
属性を TextBox
コントロールの ID
に設定します 次に、使用可能な FilterType
値の 1 つを選択します。
Custom
既定。有効な文字のリストを指定する必要があるLowercaseLetters
小文字のみNumbers
数字のみUppercaseLetters
大文字のみ
Custom FilterType
を使用する場合は、ValidChars
プロパティを設定し、入力できる文字のリストを指定する必要があります。 ちなみに、テキスト ボックスにテキストを貼り付けようとすると、無効な文字はすべて削除されます。
数字のみを許可する FilteredTextBoxExtender
コントロールのマークアップを次に示します (FilterType="Numbers"
でも可能であったもの)。
<ajaxToolkit:FilteredTextBoxExtender ID="ftbe" runat="server"
TargetControlID="TextBox1" ValidChars="1234567890" />
JavaScript が有効になっている場合は、ページを実行して文字を入力してみてください。この操作は機能しません。ただし、数字はページに表示されます。 ただし、FilteredTextBox
が提供する保護は完全ではないことに注意してください。JavaScript が有効な場合、テキスト ボックスに任意のデータを入力できるため、追加の検証手段、つまり ASP.NET の検証コントロールを使用する必要があります。
数字のみを入力できます (クリックしてフルサイズの画像を表示します)