Я работаю над веб-формами asp.net. На странице ascx у меня есть UpdatePanel
. В пределах UpdatePanel1
у меня есть ModalPopupExtender
из Ajax Control Toolkit, который отображает текстовое поле для ввода электронной почты, которое я хочу проверить для ввода электронной почты в правильном формате. Я пробовал два подхода. В первом я использовал asp:RegularExpressionValidator
. Во-вторых, я добавил яваскрипта функцию на событие щелчка на стороне клиента, как так:Regularexpressionvalidator не работает на asp.net updatepanels
OnClientClick="if(!CheckEmail()){return false};"
Ни один из них не работает, а запись из всплывающего модального всегда отправляют на сервер ли ввод электронной почты является правильным или нет , Я убедился, что ввод электронной почты текстовое поле имеет CausesValidation="True"
<asp:UpdatePanel>
<asp:Panel ID="ConfirmAdd" runat="server" CssClass="modalPopup" style="display: none;" Width="530px" >
<div style="text-align:center">
<b>Create New User</b>
</div>
<table width="100%">
<tr>
<td>User ID (Email):</td>
<td><asp:TextBox ID="email" Width="300px" runat="server" MaxLength="50" CausesValidation="True" ClientIDMode="Static" />
<asp:RequiredFieldValidator id="RequiredFieldValidator2" runat="server" Text="Email required." ControlToValidate="email"
ValidationGroup="adduser" ></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator id="EmailRegularExpressionValidator" ControlToValidate="email"
ValidationExpression="\b[A-Z0-9._%+-][email protected][A-Z0-9.-]+\.[A-Z]{2,4}\b"
ErrorMessage="Email must be in valid format" Text="Email must be in valid format"
EnableClientScript="False" runat="server" ValidationGroup="adduser" SetFocusOnError="True" />
</td>
</tr>
</table>
<div style="text-align:center">
<br />
<asp:button id="Button1" runat="server" OnClick="Button1_Click" UseSubmitBehavior="false" Text="Add" ValidationGroup="adduser" OnClientClick="if (!CheckEmail()){return false;}" /> <asp:Button ID="RefCancel" runat="server" Text="Cancel" ValidationGroup="none" />
</div>
</ContentTemplate>
Вы можете разместить код? – CodingGorilla
Зачем использовать Ajax-элементы управления, когда вы можете добиться всего этого с помощью jQuery намного проще, и он работает на всех браузерах. – Kami
Это уже существовавшее приложение. – Massey