Need {% scripts %} in layout (https://docs.octobercms.com/3.x/markup/tag/placeholder.html#scripts)
{% framework extras %} if you use Flash Messages (https://docs.octobercms.com/3.x/cms/features/flash-messages.html)
Captcha Types
- default
- math
- flat
- mini
- inverse
To use your own settings, publish config.
$ php artisan vendor:publish --provider="Mews\Captcha\CaptchaServiceProvider"
config/captcha.php
return [ 'default' => [ 'length' => 5, 'width' => 120, 'height' => 36, 'quality' => 90, 'math' => true, //Enable Math Captcha ], // ... ];
Using example
url = "/captcha" layout = "default" title = "captcha" [sitecaptcha] type = "math" showrefresh = "show" iconclass = "icon-refresh" == <?php function onSubmit() { $rules = ['captcha' => 'required|captcha_api:'. request('captcha_key') . ',math']; $messages = [ 'captcha.captcha_api' => 'wrong captcha', ]; $validator = validator()->make(request()->all(), $rules, $messages); if ($validator->fails()) { throw new ValidationException($validator); } else { Flash::success('Success'); } } ?> == <div class="container"> <form data-request="onSubmit" data-request-flash data-request-complete="updateCaptcha(this)"> <div class="mb-3"> <label for="exampleInputEmail1" class="form-label">Login</label> <input type="text" name="login" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp"> <div id="emailHelp" class="form-text">We ll never share your email with anyone else.</div> </div> <div class="mb-3"> <label for="exampleInputPassword1" class="form-label">Password</label> <input type="password" name="pass" class="form-control" id="exampleInputPassword1"> </div> <div class="mb-3"> <div class="row"> <div class="col-2"> <label for="exampleInputPassword3" class="form-label">Captcha</label> <input type="text" name="captcha" class="form-control" id="exampleInputPassword3"> </div> <div class="col-6 d-flex align-items-center mt-4 pt-2"> {% component 'sitecaptcha' %} </div> </div> </div> <div class="mb-3 form-check"> <input type="checkbox" class="form-check-input" id="exampleCheck1"> <label class="form-check-label" for="exampleCheck1">Check me out</label> </div> <button type="submit" class="btn btn-primary">Submit</button> </form> </div>
You can also use Captcha::check_api('captcha text', 'captcha key') to check captcha.
function onSubmit() { if (Captcha::check_api(request('captcha'), request('captcha_key'))){ Flash::success('Success'); } else { Flash::error('Wrong captcha'); } }
Video manual
-
ali joneid
Found the plugin useful on 5 Dec, 2021
this is an simple and usefull plugin, but when I install this plugin I have this error all over the site when I want to send an email: "Target class [mail.manager] does not exist."
-
Vladimir author
Replied on 5 Dec, 2021
Thanks. To fix the error with mail, update the plugin.
-
Ostlancer FZE LLC
Found the plugin useful on 22 Jun, 2021
Thank you, Vladimir, that ist useful.
-
Rob Norton
Found the plugin useful on 7 May, 2020
Nice plugin, very good alternative to google recaptcha, tks! the only thing I would like to add is "event.stopPropagation()" or "return false;" inside updateCaptcha() method because if the page is long when you click on refresh icon it takes you to the page top (I think that way it can be solved)
-
Vladimir author
Replied on 7 May, 2020
Thanks for your feedback. I fixed the captcha refresh. Please update the plugin.
-
3.0.0 |
Compatibility with October v3.3 Apr 19, 2023 |
---|---|
1.0.3 |
mail fix Dec 05, 2021 |
1.0.2 |
fix May 07, 2020 |
1.0.1 |
Initialize plugin. May 06, 2020 |