2012-02-25 29 views
1

したがって、1ページにログインボックスとサインアップボックスがあります。どちらもRequiredFieldバリデーターを持っています。現在、ログインまたはサインアップのいずれかのフィールドをクリックすると、サインアップとログインの両方のフィールドが有効になります。複数のコントロールを検証するAsp.Net

ただし、サインアップをクリックするとサインアップフィールドのみが有効になり、ログインフィールドをクリックするとログインフィールドが有効になります。

ここで私を助けてください。

多くのありがとうございます!ログインバリデータおよびボタンへのサインアップのバリとボタンとValidationGroup =「ログイン」へ

答えて

4

割り当てValidationGroup =「新規アカウント」

あなたがこれを行う場合にのみ同一グループ内の検証が

+0

恐ろしいを助け、あなたのソリューションは簡単で、作品です!どうもありがとう! – harsimranb

5

ように起動しますDooieはuが01をすべてのあなたの検証のために、この

 <table width="100%"> 
     <tr> 
      <td> 
       <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 
       <asp:RequiredFieldValidator 
    ID="RequiredFieldValidator1" runat="server" 
    ErrorMessage="RequiredFieldValidator" 
    ValidationGroup="Group1" ControlToValidate="TextBox1"> 
    </asp:RequiredFieldValidator> 
      </td>    
      </tr> 
     <tr> 
      <td> 
       <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox> 
       <asp:RequiredFieldValidator 
    ID="RequiredFieldValidator2" runat="server" 
     ErrorMessage="RequiredFieldValidator" 
     ValidationGroup="Group2" ControlToValidate="TextBox2"> 
     </asp:RequiredFieldValidator> 
      </td> 
     </tr> 
     <tr> 
      <td> 
        <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox> 
    <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server"             
    ValidationGroup="Group3" ControlToValidate="TextBox3"> 
    </asp:RequiredFieldValidator> 
      </td> 
     </tr> 
     <tr> 
     <td> 
       <asp:TextBox ID="TextBox4" runat="server"></asp:TextBox> 
       <asp:RequiredFieldValidator 
       ID="RequiredFieldValidator4" runat="server"  ErrorMessage="RequiredFieldValidator" ControlToValidate="TextBox4"> 
        </asp:RequiredFieldValidator>    
      </td> 
     </tr> 
     <tr> 
      <td> 
       <asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClientClick="javascript:return validatePage();" /> 
       <asp:Button ID="btnCancel" runat="server" Text="Cancel" /> 
      </td> 
     </tr> 

のように、検証グループを割り当て、その後....する必要が言いました上記のマークアップから、4つの必須フィールドバリデーターがあり、4つのバリデーターのうち3つにバリデーショングループプロパティーが定義されていることが分かります。このようなシナリオでは、送信ボタンをクリックすると、検証グループを持たないバリデーターのみが実行されます。つまり、RequiredFiedlValidator4は実行されます。複数のバリデーショングループが割り当てられているため、ValidationGroupは割り当てられたバリデーショングループに属するバリデータコントロールのみを実行するため、機能しません。他のバリデーショングループに属する他のバリデータコントロールは実行されません。また、ボタンコントロールのValidationGroupプロパティを使用して複数のvalidaitonグループを指定する方法はありません。

この問題を解決する方法は、Page_ClientValidate javascript関数を呼び出すことです。 Page_ClientValidateはASP.NETによって生成されるjavascript関数です。この関数は、検証グループ名を引数として取ります。送信ボタンをクリックしたときに呼び出されるjavascript関数が下に貼り付けられます。

  <script language="javascript" type="text/javascript"> 
     function validatePage() 
     { 
    //Executes all the validation controls associated with group1 validaiton Group1. 
    var flag = Page_ClientValidate('Group1'); 
    if (flag) 
    //Executes all the validation controls associated with group1 validaiton Group2. 
     flag = Page_ClientValidate('Group2'); 
    if (flag) 
    //Executes all the validation controls associated with group1 validaiton Group3. 
     flag = Page_ClientValidate('Group3'); 
    if (flag) 
    //Executes all the validation controls which are not associated with any validation group. 
     flag = Page_ClientValidate(); 
    return flag; 
    } 
</script> 

希望これは................

+0

素晴らしい、私はそれを試してみよう! – harsimranb

関連する問題