Socket
Socket
Sign inDemoInstall

angular-google-recaptcha

Package Overview
Dependencies
8
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    angular-google-recaptcha

Easily use Google's reCAPTCHA within your Angular forms


Version published
Weekly downloads
303
decreased by-4.42%
Maintainers
1
Install size
27.9 kB
Created
Weekly downloads
 

Readme

Source

Angular Google reCAPTCHA

Travis GitHub license NPM Version NPM Downloads Commitizen friendly semantic-release


typescriptcourses.com


Google's reCAPTCHA is an awesome, UX-friendly way of ensuring that the users who are submitting your forms are actually humans.

Angular has fantastic built in forms functionality which makes it easy to write powerful custom components and validation logic.

This library makes it effortless to combine them!

If you ever need to reference the full reCAPTCHA docs you can find them here: reCAPTCHA docs

Installation

Head over to the command line and use your favourite package manager to install and save it as a dependency:

E.g.

npm install --save angular-google-recaptcha

or

yarn add angular-google-recaptcha

Usage

1. If you haven't yet registered your site for use with reCAPTCHA, you'll need to do that next.

Head over to:

https://www.google.com/recaptcha/admin#list

...and register your site.

Once you have done that, a "site key" will have been generated for you. You need to find this and copy it to you clipboard as it will be important in the next step!

2. Now all you need to do is pass that site key into the library, and this is done via the forRoot convention on the NgModule which the library exposes.

E.g.

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { ReactiveFormsModule } from '@angular/forms';
import { RecaptchaModule } from 'angular-google-recaptcha';

@NgModule({
    imports: [
        BrowserModule,
        ReactiveFormsModule,
        RecaptchaModule.forRoot({
            siteKey: 'YOUR_SITE_KEY_HERE',
        }),
    ],
    bootstrap: [AppComponent]
})
export class AppModule { }

As you might expect, you need to be using the @angular/forms package (either the FormsModule or ReactiveFormsModule) within your project, otherwise this library will have nothing to hook into.

3. With everything wired up, you can now use the <recaptcha> component!

E.g. For reactive forms

import { Component } from '@angular/core';
import { FormControl } from '@angular/forms';

@Component({
    selector: 'app',
    template: `
        <recaptcha
          [formControl]="myRecaptcha"
          (scriptLoad)="onScriptLoad()"
          (scriptError)="onScriptError()"
        ></recaptcha>
    `
})
export class AppComponent {
    myRecaptcha = new FormControl(false);

    onScriptLoad() {
        console.log('Google reCAPTCHA loaded and is ready for use!')
    }

    onScriptError() {
        console.log('Something went long when loading the Google reCAPTCHA')
    }
}

E.g. For template-driven forms

import { Component } from '@angular/core';

@Component({
    selector: 'app',
    template: `
        <recaptcha
          [(ngModel)]="myRecaptcha"
          (scriptLoad)="onScriptLoad()"
          (scriptError)="onScriptError()"
        ></recaptcha>
    `
})
export class AppComponent {
    myRecaptcha: boolean

    onScriptLoad() {
        console.log('Google reCAPTCHA loaded and is ready for use!')
    }

    onScriptError() {
        console.log('Something went long when loading the Google reCAPTCHA')
    }
}

Keywords

FAQs

Last updated on 12 Dec 2017

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc