simialbi/yii2-visualcaptcha

为 yii2 框架实现的视觉验证码

安装: 294

依赖: 0

建议: 0

安全: 0

星星: 4

关注者: 2

分支: 2

开放问题: 0

语言:JavaScript

类型:yii2-extension

2.0.0 2024-03-22 14:24 UTC

This package is auto-updated.

Last update: 2024-09-22 15:31:22 UTC


README

资源

安装

安装此扩展的首选方式是通过 composer

运行以下命令之一:

$ php composer.phar require --prefer-dist simialbi/yii2-visualcaptcha

或将以下内容添加到您的 composer.json 文件的 require 部分:

"simialbi/yii2-visualcaptcha": "*"

使用方法

设置模块

将模块 visualcaptcha 添加到配置文件的模块和引导部分

[
    'bootstrap' => ['log', 'visualcaptcha'],
    'modules' => [
        'visualcaptcha' => [
            'class' => 'simialbi\yii2\visualcaptcha\Module'
        ]
    ]
]

示例使用

定义模型

<?php
namespace app\models;

use simialbi\yii2\visualcaptcha\validators\VisualCaptchaValidator;
use yii\base\Model;

class MyForm extends Model {
	public $name;
	public $email;
	public $subject;
	public $body;
	public $verifyCode;

	/**
	 * {@inheritdoc}
	 */
	public function rules() {
		return [
			[['name', 'email', 'subject', 'body', 'verifyCode'], 'required'],
			['email', 'email'],
			['verifyCode', VisualCaptchaValidator::class]
		];
	}
}

在视图中使用

<?php

use simialbi\yii2\visualcaptcha\widgets\VisualCaptcha;
use yii\helpers\Html;
use yii\widgets\ActiveForm;

/* @var $this yii\web\View */
/* @var $model app\models\MyForm */

$this->title = 'Visual Captcha';
$this->params['breadcrumbs'][] = $this->title;

?>
<div class="my-visualcaptcha">
    <?php $form = ActiveForm::begin(['id' => 'test-form']); ?>
	
    <?=$form->field($model, 'name')->textInput(['autofocus' => true]);?>
    <?=$form->field($model, 'email');?>
    <?=$form->field($model, 'subject');?>
    <?=$form->field($model, 'body')->textarea(['rows' => 6]);?>
    <?=$form->field($model, 'verifyCode')->widget(VisualCaptcha::class, [
        'numberOfImages' => 10,
        'clientOptions' => [
            // change templates
            'templates' => [
                'button' => '
                    <div class="visualCaptcha-{class}-button">
                        <a href="javascript:;">
                            <img src="{path}{class}{retinaExtra}.png" title="{classTitle}" alt="{classAlt}">
                        </a>
                    </div>',
                'buttonGroup' => '
                     <div class="visualCaptcha-button-group">
                         {btnRefresh}
                         {btnAccessibility}
                     </div>'
            ]
        ]
    ]);?>

    <div class="form-group">
        <?=Html::submitButton('Submit', ['class' => ['btn', 'btn-primary']]);?>
    </div>

    <?php ActiveForm::end(); ?>
?>
</div>

许可协议

yii2-visualcaptcha 在 MIT 许可协议下发布。有关详细信息,请参阅捆绑的 LICENSE