使用Ajax,Jquery或JavaScript在注册表单中添加Captcha?

时间:2015-02-04 07:42:45

标签: javascript jquery ajax asp.net-mvc-4

我在Jquery中为注册页面编写代码,当我在注册页面中使用devexpress验证码时,那个没有从jquery.so验证,我将验证码替换为jquery验证码。任何人都可以帮我如何在Jquery中编写验证码。

1 个答案:

答案 0 :(得分:0)

这是我在MVC中使用的一个很好的库,名为.NET的reCAPTCHA插件:https://code.google.com/p/recaptcha/

有一个Nuget包可用。 Nuget id:recaptcha current verion 1.0.5.0

现在使用它:在你的视图中

在您的上方视图中或在您的提交按钮下方:您添加以下代码:

<p>
    @Html.Raw(@Html.GenerateCaptcha())
    @Html.ValidationMessage("captcha")
</p>

然后在你的控制器动作中添加RecaptchaControlMvc.CaptchaValidator属性,并为recapccha添加一个额外的bool参数。 captchaValid

HttpPost, RecaptchaControlMvc.CaptchaValidator]
[OutputCache(NoStore = true, Duration = 0, VaryByParam = "None")]
public ActionResult Register(RegistrationViewModel model, bool captchaValid)
{
      // If the bool is true The Recapcha validation was successful.
     // If not then you can add a model error with the property name for the: `@Html.ValidationMessage("captcha")`
      if (!isLoan && !captchaValid)
      {
        ModelState.AddModelError("captcha", "Verification word is incorrect. Try again.");
      }

        if (ModelState.IsValid)
        {
           // go an ddo your registration or login
        }
        else
        {
              // handle errors and other messages


        }
        return View(model);
}

图书馆将负责其余工作。