ホームページ  >  記事  >  バックエンド開発  >  Yii2のモジュールに検証コードを追加する方法を詳しく解説

Yii2のモジュールに検証コードを追加する方法を詳しく解説

怪我咯
怪我咯オリジナル
2017-07-04 14:06:111405ブラウズ

この記事では主に Yii2 モジュールに 検証コード を追加する方法を紹介します。編集者が非常に優れていると考えたので、参考として共有します。エディターをフォローして見てみましょう

最近、Yii2 の検証コード部分を試してみました。通常のロジックは解決できますが、オンラインのサンプルでは問題はありません。重要な問題の部分は、モジュール内で使用される場合です。みんなで共有してください。読み進める前に、通常の状況での使用方法を確認してください。

コントローラー部分のコードはインターネット上にあるものと同様です

public function actions()
{
  return [
    'captcha' => [
      'class' => 'yii\captcha\CaptchaAction',
      'fixedVerifyCode' => null,
      'backColor' => 0x000000, //背景颜色
      'maxLength' => 6, //最大显示个数
      'minLength' => 5, //最少显示个数
      'padding' => 5, //间距
      'height' => 40, //高度
      'width' => 130, //宽度
      'foreColor' => 0xffffff, //字体颜色
      'offset' => 4, //设置字符偏移量 有效果
    ],
  ];
}

モデル部分のコード【ここで注意が必要な点】

public function rules()
{
  return [
    ['username', 'required', 'message' => '登录账号不能为空'],
    ['password', 'required', 'message' => '登录密码不能为空'],
    ['verifyCode', 'required', 'message' => '验证码不能为空'],
    ['verifyCode', 'captcha', 'captchaAction' => 'admin/default/captcha', 'message' => '验证码输入错误'],
    ['rememberMe', 'boolean'],
    ['password', 'validatePassword'],
  ];
}

ルール内のverifyCodeには、 に対応する値を追加する必要がありますcaptchaAction、それ以外の場合は検証コードの検証が表示されますが、パスせず、検証コードの番号は変更されません。その理由は、コードの

view 部分が site/captcha のデフォルトの使用によって引き起こされているためです。 phpとhtmlが混在したレイアウトでは、ページスタイルのわかりにくいレイアウトに耐えられないので、パラメータ設定部分をできるだけ削除するようにしてください】

$captchaConfig = [
  'name' => 'captchaimg',
  'captchaAction' => ['/admin/default/captcha'],
  &#39;template&#39; => &#39;<p class="form-group"><p>{image}</p></p>&#39;,
  &#39;imageOptions&#39; => [
    &#39;id&#39; => &#39;captchaimg&#39;,
    &#39;title&#39; => &#39;换一个&#39;,
    &#39;alt&#39; => &#39;换一个&#39;,
    &#39;style&#39; => &#39;cursor:pointer;margin-left:25px;&#39;,
  ],
];
<?=Captcha::widget($captchaConfig);?>

以上がYii2のモジュールに検証コードを追加する方法を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。