C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 141 を表示中)
■82469 / )  Re[1]: ASP.NETのTextBoxで半角数字のみハイフンなし
□投稿者/ WebSurfer (1120回)-(2017/01/11(Wed) 13:01:28)
No82466 (あさ さん) に返信

TextBox, AutoPostBack という言葉が出てくるということは、ASP.NET Web Forms アプリの話と
いうことで良いのですよね? (最初の行に何を作っているかも書いていただけると助かります)

> TextBoxで半角数字のみ入力可能(ハイフンもなし)で桁数も制限したいと考えています。

ASP.NET Web Forms アプリで TextBox に入力されたユーザー入力の検証には、ASP.NET が標準で
提供している検証コントロールを使ってください。

今回のケースでは RequiredFieldValidator と RegularExpressionValidator の 2 つを使い、
前者で未入力のチェック、後者で「半角数字のみ入力可能(ハイフンもなし)で桁数も制限」
を正規表現を使って行うのがよいと思います。

RequiredFieldValidator クラス
https://msdn.microsoft.com/ja-jp/library/system.web.ui.webcontrols.requiredfieldvalidator(v=vs.110).aspx

RegularExpressionValidator クラス
https://msdn.microsoft.com/ja-jp/library/system.web.ui.webcontrols.regularexpressionvalidator(v=vs.110).aspx

上記のコントロールは、クライアント側でも検証ができるように自動的にクライアントスクリプト
もダウンロードされるようになっていて、クライアント側で検証結果 NG の場合はポストバックせ
ずにエラーメッセージを表示しユーザーに修正を促すということも可能になります。

その様子は以下の記事からリンクを張った「実験室」で試して見ることができますのでやってみて
ください。

クライアント側での検証結果の表示
http://surferonwww.info/BlogEngine/post/2013/08/01/showing-the-results-of-validations-at-client-side.aspx


#自力でコードを書いて検証しようなんて努々思わないほうがいいと思います。用意されている
 検証コントロールの定型の検証では要件は満たせない場合でも CustomValidator をつかえば
 可能になるはずです。その例は上に紹介した記事にもありますので見てください。
返信 編集キー/


管理者用

- Child Tree -