#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 были прокомментированы. После того, как вы все сказали, что это сработало, я удалил их из своего кода. Должен ли я просто удалить этот вопрос?