不受欢迎
如果您有兴趣继续使用它,请提供此存储库。
Angularjs recaptcha
在您的AngularJS项目中添加recaptcha。
演示:http://vividcortex.github.io/angular-recaptcha/
安装
手动的
下载最新版本。
鲍尔
bower install --save angular-recaptcha
NPM
npm install --save angular-recaptcha
用法
有关快速使用示例,请参见演示文件。
IMPORTANT: Keep in mind that the captcha only works when used from a real domain
and with a valid re-captcha key, so this file won't work if you just load it in
your browser.
首先,您需要为您的域获得有效的recaptcha键。访问http://www.go*ogl**e.com/recaptcha。
包括VC-Recaptcha脚本,并使您的Angular应用取决于
vcRecaptcha模块。
< script type =" text/javascript " src =" angular-recaptcha.js " > script > var app = angular . module ( 'myApp' , [ 'vcRecaptcha' ] ) ;- 之后,您可以在视图中放置一个用于验证码小部件的容器,并在此上调用
vc-recaptcha指令:
< div vc-recaptcha key =" '---- YOUR PUBLIC KEY GOES HERE ----' " > div >
在这里, key属性传递给指令的范围,因此您可以使用范围中的属性或仅需硬编码字符串。请小心使用您的公钥,而不是私钥。
表单验证
默认情况下,如果使用formControl放置在表单中,则需要检查验证码以使表格有效。如果未检查验证码(如果没有选中用户检查框或支票已过期),则表格将被标记为无效。验证密钥是recaptcha 。您可以通过将required属性设置为false或将评估为false的范围的变量来选择退出此功能。任何其他值或省略属性都将选择进入此功能。
如果不需要验证码,您还可以以程序为程序触发验证,例如:
vcRecaptchaService . execute ( widgetId ) ;如果没有提供小部件ID,则将执行第一个创建的小部件。
响应验证
要从服务器验证此对象,您需要使用“验证”部分中描述的API。验证不在此工具的范围之内,因为必须在服务器端执行此操作。
您可以简单地为ng-model提供一个值,该值将分别在响应中分别进行动态填充和清除。当您想要响应的值时,可以从传递给ng-model范围的变量中获取它。它的工作方式就像将ng-model添加到形式的其他输入中一样。
...
< form name =" myForm " ng-submit =" mySubmit(myFields) " >
...
< div
vc-recaptcha
ng-model =" myFields.myRecaptchaResponse "
> div >
...
form >
... ...
$scope . mySubmit = function ( myFields ) {
console . log ( myFields . myRecaptchaResponse ) ;
}
. . .或者,您可以通过编程方式获得需要发送到服务器的响应,请使用vcRecaptchaService Angular服务的方法getResponse() 。此方法接收一个可选的参数widgetId ,可用于获取特定的recaptcha小部件的响应(如果您呈现多个窗口小部件)。如果没有提供小部件ID,则将返回第一个创建的小部件的响应。
var response = vcRecaptchaService . getResponse ( widgetId ) ; // returns the string response建议使用ng-model用于正常使用,因为该值直接通过指令将其绑定到Recaptcha实例,并且无需管理或传递witgetGetID 。
其他参数
您可以选择将验证码使用的theme作为HTML属性:
< div vc-recaptcha ng-model =" gRecaptchaResponse " theme =" ---- light or dark ---- " size =" ---- compact, normal or invisible ---- " type =" '---- audio or image ----' " key =" '---- YOUR PUBLIC KEY GOES HERE ----' " lang =" ---- language code ---- " > div >