У меня есть простая форма, в которой используется проверка 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>
И это элемент управления core: 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 в функции clientvalidation CustomValidator, чтобы это работало правильно?
Любые мысли или предложения приветствуются.