【发布时间】:2011-06-21 18:57:33
【问题描述】:
我的注册表单上有验证码。 用户必须在 recaptcha 框中键入一些内容,然后才能将其发布到服务器。 我对其他字段进行了服务器端验证和客户端验证。
从 rcaptcha 生成的 html:
<input type="text" id="recaptcha_response_field" name="recaptcha_response_field" autocomplete="off" class="valid">
查看:
@ReCaptcha.GetHtml(theme: "red", publicKey: GetPublicKey())
@Html.ValidationMessageFor(m => m.recaptcha_response_field)
型号:
[Required(ErrorMessage = "'captcha required' ")]
public string recaptcha_response_field { get; set; }
加载时我看到“需要验证码”消息。但如果我输入一些东西,它仍然会出现。 表单提交时带有空的recaptcha 框。
如何在客户端设置recaptcha 必填字段?
感谢您的帮助
编辑: 我添加了这个来拦截提交 btn 点击事件,但它并没有停止发布表单。
<button type="submit" id="btnSubmit" class="sprt bg_red bt_red h25" onsubmit="ValidateAndSubmit();">Signup</button>
<script type="text/javascript">
function ValidateAndSubmit() {
var v=$('#recaptcha_response_field').val();
if (v == '' || v == undefined) {
alert('captcha is required');
return false;
}
return true;
}
</script>
【问题讨论】:
标签: jquery asp.net validation asp.net-mvc-3