import {CaptchaModule} from 'primeng/captcha';
Captcha is used with a siteKey and a callback to verify the response.
<p-captcha siteKey="YOUR_SITE_KEY" (onResponse)="showResponse($event)"></p-captcha>
In addition include the captcha widget resource to your page.
<script src="https://www.google.com/recaptcha/api.js?render=explicit&onload=initRecaptcha" async defer></script>
Global callback name is initRecaptcha by default and it can be changed using initCallback property .
<script src="https://www.google.com/recaptcha/api.js?render=explicit&onload=loadCaptcha" async defer></script>
<p-captcha siteKey="YOUR_SITE_KEY" (onResponse)="showResponse($event)" initCallback="loadCaptcha"></p-captcha>
In order to ensure if a response token is valid, verification against recaptcha api needs to be done at backend. Read more at official documentation.
showResponse(response) {
//call to a backend to verify against recaptcha with private key
}
| Name | Type | Default | Description |
|---|---|---|---|
| sitekey | string | null | Public sitekey. |
| theme | string | light | The color scheme of the widget. |
| type | string | image | The type of CAPTCHA to serve. |
| size | string | normal | The size of the widget. |
| tabindex | number | 0 | The tabindex of the widget and challenge. If other elements in your page use tabindex, it should be set to make user navigation easier. |
| language | string | en | Language of the widget. |
| initCallback | string | initRecaptcha | Name of global callback to initialize recaptcha. |
| Name | Parameters | Description |
|---|---|---|
| onResponse | event.response: The user response token. | The callback function to be executed when the user submits a successful CAPTCHA response. |
| onExpire | - | The callback function to be executed when the recaptcha response expires and the user needs to solve a new CAPTCHA. |
| Name | Parameters | Description |
|---|---|---|
| reset | - | Resets the reCAPTCHA widget. |
| getResponse | - | Gets the response for the reCAPTCHA widget. |
Google Recaptcha V2
<p-growl [value]="msgs" sticky="sticky"></p-growl>
<p-captcha siteKey="6Lf2XQkTAAAAANcvOwYqPxWL4iZDksFqHpS39GDA" (onResponse)="showResponse($event)"></p-captcha>
export class CaptchaDemo {
msgs: Message[] = [];
showResponse(event) {
this.msgs = [];
this.msgs.push({severity:'info', summary:'Succees', detail: 'User Responded'});
}
}