Yii2に付属の登録機能もWebサイトの登録機能として利用できますが、パスワードや認証コードを繰り返し追加するとより完璧になります!
質問:
「111」、「123456」、「_____111」などのユーザー名はすべて許可されています。では、ユーザーが希望するユーザー名を入力できないようにするにはどうすればよいですか?
一般登録にはパスワードを再入力するための入力ボックスがあります。これは、ユーザーが入力したパスワードを再度確認できるようにするためです。
登録ユーザーの質を向上させ、一括登録を防ぐために、確認コードを追加するのが良い選択です。
ロジックコードを変更せずに上記の3つの問題を完全に解決するにはどうすればよいですか?以下のチュートリアルを読めば、一目瞭然です。
高度なバージョン 2.0.6 を例として、/frontend/models/SignupForm.php を開きます
, ['username', 'required'], ['username', 'unique', 'targetClass' => 'commonmodelsUser', 'message' => 'This username has already been taken.'], ['username', 'string', 'min' => 2, 'max' => 255], ['email', 'filter', 'filter' => 'trim'], ['email', 'required'], ['email', 'email'], ['email', 'string', 'max' => 255], ['email', 'unique', 'targetClass' => 'commonmodelsUser', 'message' => 'This email address has already been taken.'], ['password', 'required'], ['password', 'string', 'min' => 6], ]; } 只需修改rules规则即可完美实现 a.添加用户字符限制,6-16位 ['username', 'string', 'min' => 6, 'max' => 16], 输入限制:用户名由字母,汉字,数字,下划线组成,且不能以数字和下划线开头。 ['username', 'match','pattern'=>'/^[(x{4E00}-x{9FA5})a-zA-Z]+[(x{4E00}-x{9FA5})a-zA-Z_d]*$/u', 'message'=>'用户名由字母,汉字,数字,下划线组成,且不能以数字和下划线开头。'], b.添加重复密码字段 public $repassword; 一般重复密码与密码的字段验证基本上是一致的,所以可以在password中添加repassword,并添加两次输入一致的限制 [['password','repassword'], 'required'], [['password','repassword'], 'string', 'min' => 6], ['repassword', 'compare', 'compareAttribute' => 'password','message'=>'两次输入的密码不一致!'], c.添加验证码字段 public $verifyCode; 验证码有自带的扩展,只需添加以下代码即可 ['verifyCode', 'captcha'], 本例为SiteController中添加[/b] public function actions() { return [ 'captcha' => [ 'class' => 'yiicaptchaCaptchaAction', 'fixedVerifyCode' => YII_ENV_TEST ? 'testme' : null, ], ]; }
変更されたルール
class SignupForm extends Model { public $username; public $email; public $password; public $repassword; public $verifyCode; public function rules() { return [ ['username', 'filter', 'filter' => 'trim'], ['username', 'required'], ['username', 'unique', 'targetClass' => 'commonmodelsUser', 'message' => '该用户名已被使用!'], ['username', 'string', 'min' => 6, 'max' => 16], ['username', 'match','pattern'=>'/^[(x{4E00}-x{9FA5})a-zA-Z]+[(x{4E00}-x{9FA5})a-zA-Z_d]*$/u', 'message'=>'用户名由字母,汉字,数字,下划线组成,且不能以数字和下划线开头。'], ['email', 'filter', 'filter' => 'trim'], ['email', 'required'], ['email', 'email'], ['email', 'string', 'max' => 255], ['email', 'unique', 'targetClass' => 'commonmodelsUser', 'message' => '该邮箱已经被注册!'], [['password','repassword'], 'required'], [['password','repassword'], 'string', 'min' => 6], ['repassword', 'compare', 'compareAttribute' => 'password','message'=>'两次输入的密码不一致!'], ['verifyCode', 'captcha'], ]; } ....
効果を確認してください
上記は yii2.0 の詳細な説明ですモデル ルールの検証。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

ホットトピック









