У меня есть простая форма, которая использует проверку jQuery для уведомления пользователя об ошибках ввода и т. Д. Когда я добавляю ASP.NET CustomValidator в форму, она вызывает обратную передачу страницы и пропускает проверку jQuery.Мне нужно, чтобы форма не была отправлена на сервер до тех пор, пока клиент не подтвердит правильность.Кто-нибудь видел это раньше?
Это моя форма:
<form id="form1" runat="server">
<core:standardscriptmanager runat="server" />
<div>
<asp:textbox id="Email" name="Email" runat="server" cssclass="_RegisterFormValidate FormField Email {required:true, email:true, messages:{required:'You must enter an email address.', email:'Please enter a valid email address.'}}" maxlength="200" columns="75" width="98%" tooltip="Your email address"></asp:textbox>
<br /><br />
<core:recaptcha runat="server" />
<br />
<asp:linkbutton id="CreateAccount" runat="server" onclick="CreateAccount_Click" text="create"></asp:linkbutton>
</div>
</form>
И это ядро: элемент управления recaptcha, содержащий пользовательский валидатор:
<script type="text/javascript"
src="http://www.google.com/recaptcha/api/challenge?k=XXXKEY">
</script>
<noscript>
<iframe src="http://www.google.com/recaptcha/api/noscript?k=XXXKEY"
height="300" width="500" frameborder="0"></iframe><br>
<textarea name="recaptcha_challenge_field" rows="3" cols="40">
</textarea>
<input type="hidden" name="recaptcha_response_field"
value="manual_challenge">
</noscript>
<asp:customvalidator id="RecaptchaValidator" runat="server" controltovalidate="DummyInput" onservervalidate="ServerValidate" validateemptytext="true" />
<asp:textbox id="DummyInput" runat="server" cssclass="Hidden"></asp:textbox>
Примечание: DummyInput только тамчтобы сделать CustomValidator счастливым, мое событие ServerValidate правильно обрабатывает результаты проверки.
Часть ServerValidate CustomValidator работает нормально во время обратной передачи, но мне нужно, чтобы она перестала мешать проверке на стороне клиента.Если я удаляю CustomValidator из элемента управления recaptcha, все играет хорошо.
Нужно ли делать что-то вроде вызова jquery-validate в функции clientvalidator clientvalidation, чтобы эта работа работала правильно?
Любые мысли или предложения приветствуются.