質問

2つのテキストボックスを備えたテーブルがあります。すべてのテキストボックスには、ユーザーがテキストボックスにデータを挿入するために必要な検証装置があります。

また、ユーザーの特権を確認するためのログインテーブルもあります。

ログインのボタンを送信すると、最初のテーブルのバリエーターが表示され、ユーザーがログインするのを防ぎます。ログインボタンプロパティ(検証の原因)をfalseに変更しましたが、ログインテーブルに追加したバリッターは表示されませんでした。

この問題を解決するにはどうすればよいですか。

役に立ちましたか?

解決

使用して問題を解決できると思います validationgroups. 。これはからの抜粋です 説明が長いページ あなたのために:

このページには、「Group1」と「Group2」のバリデーターの2つのグループがあります。ページには2つのボタンがあります - Button1がクリックされると、最初のバリデーターグループが発射されます。 Button2がクリックされると、VALDICARSの2番目のグループが発射されます. 。検証が失敗した場合、ポストバックはデフォルトでクライアント側にブロックされます。

<html>
<body>
     <form runat=“server”>
          <asp:textbox id=“TextBox1” runat=“server”/>
          <asp:requiredfieldvalidator ValidationGroup=“Group1”
                                                       ErrorText=“Need to Fill in Value!”
                                                       ControlToValidate=“TextBox1”
                                                       runat=“server”/>
            <asp:textbox id=“TextBox2” runat=“server”/>
            <asp:requiredfieldvalidator ValidationGroup=“Group2”
                                                         ErrorText=“Need to Fill in Value!”
                                                         ControlToValidate=“TextBox2”
                                                         runat=“server”/>
            <asp:button text=“Group1” ValidationGroup=“Group1” runat=“server”/>
            <asp:button text=“Group2” ValidationGroup=“Group2” runat=“server”/>
     </form>
</body>
</html>

他のヒント

使用する必要があるのは、ボタンと検証の両方の検証グループ属性です。これにより、特定のアクションは、ボタンがクリックされたときにページ上のバリデーターのサブセットのみを実施できます。

<asp:TextBox ID="txtA" runat="server" />
<asp:RequiredFieldValidator ID="rfvA" runat="server" ErrorMessage="Message." ControlToValidate="txtA" ValidationGroup="A" />
<asp:Button ID="btnA" runat="server" Text="A" ValidationGroup="A" />

<asp:TextBox ID="txtB" runat="server" />
<asp:RequiredFieldValidator ID="rfvB" runat="server" ErrorMessage="Message." ControlToValidate="txtA" ValidationGroup="B" />
<asp:Button ID="btnB" runat="server" Text="B" ValidationGroup="B" />

BTNAがクリックされると、RFVAが有効であるかどうか(TXTAをチェック)し、BTNBがクリックされた場合にのみ確認します。RFVBが有効かどうかを確認します。そして、はい、同じ検証グループに複数の検証コントロールを持つことができます。

原因となるプロパティをfalseに設定すると、必要ではないものだけでなく、ボタンのすべての検証アクションを無効にしていました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top