5

Visual Studio 2012、Asp.net、Web フォーム。
テキストボックスへの入力を制御しようとしていますが、数字のみです。次のコードがあります。

<asp:RegularExpressionValidator id="RegularExpressionValidator1" 
                 ControlToValidate="txtAcres"
                 ValidationExpression="^\d+"
                 Display="Static"
                 ErrorMessage="Only Numbers"
                 EnableClientScript="False" 
                 runat="server"></asp:RegularExpressionValidator>

ただし、任意のテキストを入力できます。私は何が欠けていますか?

4

4 に答える 4

14

これは、最初にテキストボックスが空白かどうかをチェックし、次に数字のみをチェックします。

<asp:TextBox ID="tbAccount" runat="server"></asp:TextBox>

テキストボックスが空白かどうかを確認します:

<asp:RequiredFieldValidator ID="RequiredFieldValidatorAccount" runat="server" ErrorMessage="*Required" ControlToValidate="tbAccount" ForeColor="Red"></asp:RequiredFieldValidator>

数字のみを許可:

<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="tbAccount" ErrorMessage="Please Enter Only Numbers" ForeColor="Red" ValidationExpression="^\d+$"></asp:RegularExpressionValidator>
于 2014-12-01T15:39:35.140 に答える
4

このコードはASPXページで使用できます。^[1-9]\d$ValidationExpression プロパティで使用します。

<asp:TextBox runat="server" ID="txtstock" width="50" />
        <asp:RegularExpressionValidator runat="server" ErrorMessage="Numeric Only" ControlToValidate="txtstock"
      ValidationExpression="^[1-9]\d$"></asp:RegularExpressionValidator>
于 2016-07-18T14:20:29.370 に答える
2

trueプロパティに設定する必要がありEnableClientScriptます。

 EnableClientScript="true" 

EnableClientScript プロパティを使用して、クライアント側の検証を有効にするかどうかを指定します。検証コントロールは、常にサーバー上で検証を実行します。また、DHTML をサポートするブラウザー (Microsoft Internet Explorer 4.0 以降など) がクライアントで検証を実行できるようにする完全なクライアント側の実装も備えています。クライアント側の検証は、サーバーに送信される前にユーザー入力をチェックすることにより、検証プロセスを強化します。これにより、フォームが送信される前にクライアントでエラーを検出できるようになり、サーバー側の検証に必要な情報の往復を回避できます。参照

于 2013-04-30T17:55:11.880 に答える
0

あなたは^(0|[1-9]\d*)$ 良い成功を使用することができます!

于 2017-04-21T09:09:02.713 に答える