quadcompanies / google-recaptcha-enterprise
Laravel package providing a Google reCAPTCHA Enterprise validation rule and a Blade drop-in
Installs: 119
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/quadcompanies/google-recaptcha-enterprise
Requires
- php: ^8.0
- illuminate/support: ^8.0 || ^9.0 || ^10.0 || ^11.0 || ^12.0
README
This repository is a minimal Laravel package template that provides:
- A validation Rule:
Components\\GoogleReCaptchaEnterprise\\Rules\\ReCaptchaEnterpriseRule - A Blade drop-in view:
resources/views/recaptcha-enterprise.blade.php(published toviews/vendor/recaptcha-enterprise) - A service provider:
ReCaptchaEnterpriseServiceProviderwhich registers the rule and publishes config/views/lang
Installation (local development):
-
Require this package via composer (path repository or VCS) or include it directly in
composer.jsonof your app. -
Publish configuration, views and language files:
php artisan vendor:publish --provider="Components\GoogleReCaptchaEnterprise\ReCaptchaEnterpriseServiceProvider" --tag="config" php artisan vendor:publish --provider="Components\GoogleReCaptchaEnterprise\ReCaptchaEnterpriseServiceProvider" --tag="views" php artisan vendor:publish --provider="Components\GoogleReCaptchaEnterprise\ReCaptchaEnterpriseServiceProvider" --tag="lang"
Usage:
-
To use the validation rule in a FormRequest or validator, import and instantiate it:
use Components\GoogleReCaptchaEnterprise\Rules\ReCaptchaEnterpriseRule;
// Example: pass the expected action string (must match your JS action) $request->validate([ 'g-recaptcha-response' => [new ReCaptchaEnterpriseRule('submit_form')], ]);
// Or pass a config array and an action: $request->validate([ 'g-recaptcha-response' => [new ReCaptchaEnterpriseRule(['project_id' => 'my-project-id'], 'submit_form')], ]);
-
Or use the validator extension rule name
recaptcha_enterpriseafter publishing the package. -
To drop the Blade snippet into a form, include the view. Pass the action string so the JS stub uses the same action name you validate server-side:
@include('recaptcha-enterprise::recaptcha-enterprise', ['action' => 'submit_form'])
// If you publish the view and want a custom input id, pass
inputIdas well: @include('recaptcha-enterprise::recaptcha-enterprise', ['action' => 'submit_form', 'inputId' => 'recaptcha_token'])