Радиокнопки, приводящие к сбою встроенной проверки формы .net

#asp.net #validation

#asp.net #проверка

Вопрос:

У меня есть очень простая форма на странице .Net, в ней есть 6 полей, к каждому из которых прикреплен requiredfieldvalidator. Все работает нормально, и форма останавливается, если хотя бы одно поле остается пустым. Меня попросили добавить раздел с 2 переключателями (я установил один параметр как отмеченный, чтобы избежать какой-либо проверки в поле), теперь форма отправляется независимо от того, есть ли в полях информация или нет.

Подмножество default.aspx

       <form id="form1" runat="server">
        <div style="margin-bottom:10px;">
          <label for="txtAgencyName">Name of Agency</label>
          <asp:TextBox ID="txtAgencyName" runat="server"></asp:TextBox>
          <asp:RequiredFieldValidator ID="rfvAgencyName" runat="server" ErrorMessage="*Required" ControlToValidate="txtAgencyName" ValidationGroup="vg1" CssClass="rfvErrors"></asp:RequiredFieldValidator>
        </div> 

        <div style="margin-bottom:10px;">
          <label for="txtEmail">Email Address</label>
          <asp:TextBox ID="txtEmail" runat="server"></asp:TextBox>
          <asp:RequiredFieldValidator ID="rfvEmail" runat="server" ErrorMessage="*Required" ControlToValidate="txtEmail" ValidationGroup="vg1" CssClass="rfvErrors"></asp:RequiredFieldValidator>
          <asp:RegularExpressionValidator ID="revEmail" runat="server" ErrorMessage="Invalid Email Address" CssClass="revErrors" ValidationExpression="(^([0-9a-zA-Z]([-.w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-w]*[0-9a-zA-Z].) [a-zA-Z]{2,9})$)" ValidationGroup="vg1" ControlToValidate="txtEmail"></asp:RegularExpressionValidator>      
        </div>

        <!-- This is the section that is breaking the validation -->

        <div style="margin-bottom:10px;">
          <asp:RadioButton ID="rbOwnershipAgent" runat="server" Checked="true" GroupName="Ownership" />
          <asp:RadioButton ID="rbOwnershipReferral" runat="server" GroupName="Ownership" />
        </div> 

        <!-- --------------------------------------------------- -->

        <div style="margin-bottom:10px;">
          <label for="txtAgencyContact">Agency Contact Name</label>
          <asp:TextBox ID="txtAgencyContact" runat="server"></asp:TextBox>
          <asp:RequiredFieldValidator ID="rfvAgencyContact" runat="server" ErrorMessage="*Required" ControlToValidate="txtAgencyContact" ValidationGroup="vg1" CssClass="rfvErrors"></asp:RequiredFieldValidator>
        </div> 

        <div style="margin-bottom:10px;">
          <label for="txtPhone">Telephone Number</label>
          <asp:TextBox ID="txtPhone" runat="server"></asp:TextBox>
          <asp:RequiredFieldValidator ID="rfvTelephone" runat="server" ErrorMessage="*Required" ControlToValidate="txtPhone" ValidationGroup="vg1" CssClass="rfvErrors"></asp:RequiredFieldValidator>
        </div> 

        <div>
          <label for="ddlState">State</label>
          <asp:DropDownList ID="ddlState" runat="server" AppendDataBoundItems="True">
            <asp:ListItem Text="Select State" Value=""></asp:ListItem>
          </asp:DropDownList>
        </div> 

        <div style="margin-bottom:10px;">
          <label for="taCarriers">In your agency, who are the carriers writing liquor liability for you today?</label>
          <asp:TextBox ID="taCarriers" runat="server" TextMode="MultiLine" Rows="3"></asp:TextBox><asp:RequiredFieldValidator ID="rfvOtherCarriers" runat="server" ErrorMessage="*Required" ControlToValidate="taCarriers" ValidationGroup="vg1" CssClass="rfvErrors" style="margin-top:15px;"></asp:RequiredFieldValidator>
        </div> 

    <div style="width:100%;margin-top:20px;border-bottom:1px solid #27a0d6"></div>
    <asp:Button ID="btnSubmit" runat="server" Text="Submit amp;raquo;" name="bnSubmit" class="submit" ValidationGroup="vg1" />
  </form>
  

Я упускаю что-то простое, например, атрибут кнопки отправки или переключателей? Я просто удивлен, что встроенный .Сетевой контроль вызывает такого рода проблемы для чего-то такого базового. Спасибо за любую помощь.

Комментарии:

1. Сообщает ли Firebug / Developer Tools о какой-либо ошибке JavaScript?

2. Я скопировал код, который вы предоставили как есть, на новую страницу, и все средства проверки, похоже, работают на меня. Я получаю сообщение «* Требуется», если в текстовых полях нет текста. Есть ли какой-либо JavaScript или что-то, чего мы не видим?

3. Ваш код работает так, как задумано. По крайней мере, все проверки полей работают и не отправляли форму, когда я пытался локально. Может быть что-то еще, вызывающее проблему, которую мы не видим в вашей публикации. Или очистите решение и попробуйте перестроить его, если это поможет.

4. Я думаю, что моя проблема заключалась в том, что несколько элементов управления RequiredFieldValidator были прокомментированы. После того, как вы все сказали, что это сработало, я удалил их из своего кода. Должен ли я просто удалить этот вопрос?