#asp.net #recaptcha #client-side-validation
#asp.net #recaptcha #проверка на стороне клиента
Вопрос:
Есть ли какой-либо способ ограничить пользователя на стороне клиента обязательным заполнением recaptcha перед переходом на sdie сервера?
Я знаю, что мы можем проверить на стороне сервера, поставив !Page.IsValid
но я хочу проверку клиента перед отправкой.
Спасибо
Ответ №1:
Отказ от ответственности: я никогда не использовал ASP.Net .
Вы не можете запретить кому-либо отправлять форму.
Однако в большинстве случаев можно заблокировать отправку формы с помощью некоторого Javascript.
Для этого попробуйте проверить элемент формы, который генерирует reCAPTCHA, используя Javascript / jQuery. Самым простым методом было бы проверить, больше ли длина строки введенного значения нуля.
Ответ №2:
Есть способ .. отключив саму кнопку .. сделал то же самое некоторое время назад.
это мой recaptcha
<div class="g-recaptcha" data-callback="EnableButton" data-expired-callback="DisableButton" data-sitekey="your-site-key"></div>
и это функции javascript, которые я использовал
<script type="text/javascript">
var DisableButton = function () {
alert("Confirmation Expired. Please Answer Recaptcha.");
document.getElementById('buttonID').disabled = true;
grecaptcha.reset();
};
var EnableButton = function () {
document.getElementById('buttonID').disabled = false;
};
</script>
p.s. я использовал Google recaptcha 2.0
он невероятно прост в использовании. и это бесплатно.