0

午後の皆さん、

ユーザーに記入してもらいたい Web フォームがあります。フォームには、検証を設定したい 3 つのフィールドがあります。これらの 1 つは通常のテキスト ボックスで、もう 1 つはカレンダー アイコンに関連付けられたテキスト ボックスです。最後のフィールドは、列挙型リストから入力されたデータを保持するドロップ ダウン リストです。

ドロップダウン リストについてはまだあまり心配していませんが、他の 2 つのテキスト ボックスには少しイライラしています。これらの両方で「Required Filed Validator」を使用しましたが、ユーザーが送信ボタンをクリックしたときにのみ検証を開始したいと考えています。現時点では、これら 2 つのフィールドの間をタブで移動するかクリックすると、検証が開始されます。

ここに私のウェブフォームがあります....

          <table id="table-3">
          <tr>
                <td style="width: 385px"> 
                    <asp:Label ID="lblOrganiser" runat="server" Text="Meeting Organiser:">
                    </asp:Label></td>
                <td class="style4" style="width: 23px">                 
                   <asp:TextBox ID="txtOrganiser" runat="server" >
                    </asp:TextBox>      
                </td>
               <td>
                    <asp:RequiredFieldValidator ID="RequiredFieldVal0"
                     ControlToValidate="txtOrganiser" 
                     ErrorMessage="Meeting Organiser"
                     Text="*" 
                     runat="server"/>
               </td>
              <td>
                 <asp:Label ID="lblDate" runat="server" Width="40px" Text="Date:">
                 </asp:Label>
              </td>   
              <td class="style5">
                  <asp:TextBox ID="txtAgendaDate" runat="server" ForeColor="Black" >
                  </asp:TextBox>
                  <asp:ImageButton runat="Server" ID="ImageButton1" ImageUrl="~/images/contact_date_SM3.png" 
                AlternateText="Click here to display calendar" ImageAlign="AbsMiddle"  /> 
                  <asp:calendarextender ID="CalendarExtender3" runat="server" 
                    TargetControlID="txtAgendaDate" PopupButtonID="ImageButton1" Format="dd/MM/yyyy"></asp:calendarextender>
              </td>
              <td>
                 <asp:RequiredFieldValidator ID="RequiredFieldVal1"
                 ControlToValidate="txtAgendaDate" 
                 ErrorMessage="Date"
                 Text="*" 
                 runat="server"/>
              </td>
            </tr>

             <tr>
                <td style="width: 385px"><asp:Label ID="lblAgendaTypeDescription" runat="server" Text="Type Of Meeting:"></asp:Label></td>
                <td class="style4" style="width: 23px">
                    <asp:TextBox ID="txtAgendaTypeDescription" runat="server" Text="Monthly" BackColor="#F4F4F4" ReadOnly="True"></asp:TextBox>
                 </td>
                   <td></td>
           <td class="style7" style="width: 24px"><asp:Label ID="lblTime" runat="server" Text="Time"></asp:Label></td>
                <td><asp:TextBox ID="txtTime" runat="server" 
                        Text="4pm" style="margin-top: 2px"></asp:TextBox></td>
                 <td></td>
            </tr>
            <tr>
                <td style="width: 385px">
                    <asp:Label ID="lblVenue" runat="server" Text="Venue"></asp:Label>
                </td>
                <td class="style4"  colspan="6"><asp:TextBox ID="txtVenue" runat="server" 
                        Text="Room 1"  Width="550px" TextMode="SingleLine" ></asp:TextBox></td>
            </tr>
            <tr>
                <td style="width: 385px"><asp:Label ID="lblRead" runat="server" Text="Please Read:"></asp:Label></td>
                <td class="style4" colspan="6">
                    <asp:TextBox ID="txtRead" runat="server" 
                        Width="550px" TextMode="SingleLine" Font-Names="Verdana"  ></asp:TextBox></td>         
            </tr>
             <tr>
                <td style="width: 385px"><asp:Label ID="lblBring" runat="server" Text="Please Bring:"></asp:Label></td>
                <td class="style4" colspan="6">
                    <asp:TextBox ID="txtBring" runat="server" 
                        Width="550px" TextMode="SingleLine" Font-Names="Verdana"  ></asp:TextBox></td>         
            </tr>

            <tr>
                <td style="width: 385px"><asp:Label ID="lblAgendaStatus" runat="server" Text = "Agenda Status" ></asp:Label></td>
                <td class="style4" style="width: 23px">
                    <asp:DropDownList ID="AgendaStatus" 
                        runat="server" Height="24px" Width="125px"> </asp:DropDownList>        
                </td>    
                <td> <asp:RequiredFieldValidator ID="RequiredFieldVal2"
                 ControlToValidate="AgendaStatus" 
                 ErrorMessage="Agenda Status"
                 Text="*" 
                 runat="server"/>
                </td>                  
          </tr>
       </table>

        <br />
           <asp:ValidationSummary ID="ValidationSummary2"
            HeaderText="You must enter a value in the following fields:"
            DisplayMode="BulletList"
            EnableClientScript="true"
            runat="server"/>
            <br />

    <div style="text-align: right;">
                  <asp:ImageButton runat="Server" ID="btnAddMonthlyTemplate" ImageUrl="~/images/Addbutton.png" 
                AlternateText="Add Weekly Template"  /> 
          </div>

誰かが私を正しい方向に向けることができないなら、それは素晴らしいことです。よろしくお願いします。

ベティ

4

1 に答える 1

0

RequiredFieldValidator の EnableClientScript プロパティを false に設定できます。

  <asp:RequiredFieldValidator ID="RequiredFieldVal1"
                 ControlToValidate="txtAgendaDate" 
                 ErrorMessage="Date"
                 Text="*" 
                 EnableClientScript="false"
                 runat="server"/>

そうすれば、ユーザーがフォームを投稿した後にのみ検証が行われます。お役に立てれば、

シャイ。

于 2012-06-25T15:10:03.053 に答える