视图中显示验证码
<?= $form->field($model, 'captcha')->widget(\yii\captcha\Captcha::classname(), [
// 指定获取验证码图片控制器方法
'captchaAction'=>'/site/captcha',
'template' => '<div class="row"><div class="col-md-3">{image}</div><div class="col-md-3">{input}</div></div>',
'imageOptions'=>['alt'=>'图片无法加载','title'=>'点击换图', 'style'=>'cursor:pointer'],
]) ?>
模型中添加captcha属性
class LoginForm extends Model
{
public $username;
public $password;
public $rememberMe = true;
public $captcha;
模型中添加验证规则
public function rules()
{
return [
//verify your captcheCode
['captcha', 'captcha', 'message'=>'验证码错误', 'captchaAction'=>'/site/captcha']
];
}
控制器添加captcha方法
public function actions()
{
return [
'error' => [
'class' => 'yii\web\ErrorAction',
],
'captcha' => [
'class' => 'yii\captcha\CaptchaAction',
// 'height' => 50,
// 'width' => 80,
// 'minLength' => 4,
// 'maxLength' => 4,
'fixedVerifyCode' => YII_ENV_TEST ? 'testme' : null,
],
];
}