2017-03-16 10 views
0

Ich habe eine Webforms-Seite (nicht fragen), die ich versuche, einige Client-Seite Validierung mit den Standard-Validatoren arbeiten zu bekommen.asp: RadioButtonList asp: RequiredFieldValidator Feuert niemals die Validierung

Heres einige Teilcode

<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> 

Also, wenn ich es wirft und Fehler in der Zusammenfassung Steuer von der Steuerung richtig txtName einreichen, aber keine der Kontrollen innerhalb der Raster ....

Irgendwelche Ideen?

Antwort

1

Sie können RadioButtonList mit RequiredFieldValidator nicht validieren. Sie brauchen dafür eine 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> 
Verwandte Themen