2017-03-16 64 views
0

我有一個web表單頁面(不要問)我試圖得到一些客戶端驗證工作,使用標準的驗證。ASP:RadioButtonList的ASP:RequiredFieldValidator的永遠不會觸發驗證

繼承人一些部分代碼

<asp:TemplateField ItemStyle-Width="50px" HeaderText="Received"> 
     <HeaderStyle HorizontalAlign="Center" /> 
       <ItemTemplate> 
        <asp:RadioButtonList ID="rbIsRecv" RepeatDirection="Horizontal" 
         runat="server" ValidationGroup="Curriculum"> 
         <asp:ListItem Value="1">Yes&nbsp;</asp:ListItem> 
         <asp:ListItem Value="0">No</asp:ListItem> 
        </asp:RadioButtonList> 
        <asp:RequiredFieldValidator runat="server" ID="RequiredFieldValidator1" 
        ControlToValidate="rbIsRecv" Text="Required" 
        ValidationGroup="Curriculum" /> 
      </ItemTemplate> 
      </asp:TemplateField>  

< .......>

<asp:TemplateField ItemStyle-Width="50px" HeaderText="Actually Received"> 
           <HeaderStyle HorizontalAlign="Center" /> 
           <ItemTemplate> 
            <asp:TextBox ID="txtActual" runat="server" /> 
            <asp:RequiredFieldValidator ForeColor="Red" ValidationGroup="AllValidators" runat="server" 
             ControlToValidate="txtActual" ErrorMessage="All values must be filled in!" />         
           </ItemTemplate> 
          </asp:TemplateField> 
         </Columns> 
        </asp:GridView> 
        </div> 
       </div>   
      </div> 
      <div class="row pull-right"> 
       <asp:Label runat="server">Employee ID: </asp:Label> 
       <asp:TextBox ID="txtName" runat="server" /><br /> 
       <asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClick="btnSubmit_Click" CssClass="btn-primary pull-right" /> 
      </div> 
      <div class="row"> 
       <asp:RequiredFieldValidator ForeColor="Red" ValidationGroup="AllValidators" runat="server" ControlToValidate="txtName" ErrorMessage="Please enter your employee Number!" />  
       <asp:ValidationSummary ID="ValidationSummary1" runat="server" ValidationGroup="AllValidators"/> 
      </div> 

所以,當我提出它拋出和錯誤從txtName的控制摘要控制得當,但沒有網格內的控件....

任何想法?

回答

1

您無法驗證與RequiredFieldValidator一個RadioButtonList。你需要一個CustomValidator

<asp:CustomValidator ID="CustomValidator1" runat="server" ErrorMessage="Select an option" 
    ClientValidationFunction="validateRadioButtonList"></asp:CustomValidator> 

<script type="text/javascript"> 
    function validateRadioButtonList(oSrc, args) { 
     if ($("input[name='<%= RadioButtonList1.UniqueID %>']:checked").val() == null) { 
      args.IsValid = false; 
     } else { 
      args.IsValid = true; 
     } 
    } 
</script> 
相關問題