0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

シンプルなユーザー登録の修正

Last updated at Posted at 2015-05-06

前回作成した「シンプルなユーザー登録」の問題点や改善を行った方がよい部分の修正を行う。

※なお、元記事側では本件の修正内容(文字種チェックの実装、暗号化ロジックの変更等)の反映と、さらにその他の修正を反映しておりますので、最新版のソースは「シンプルなユーザー登録」側をご確認ください。

#問題点の確認

前回作成した「シンプルなユーザー登録」には以下のような問題や改善点がある。

  1. ユーザーが重複登録されてしまう
  2. パスワードの検証が行われていない

上記について修正を行う。

#「1.ユーザーが重複登録されてしまう」問題の修正

この問題は、通常同一メールアドレスを持つユーザーは多重登録できないが、現状の実装では重複登録ができてしまう問題。

##問題の原因と修正内容

原因は登録時にメールアドレスの重複を行っていない為
今回は登録時の検証ルールに重複をチェックするルールを実装し、多重登録が行われないように修正を行う。

対応としては標準で準備されているisUniqueルールを利用し重複をチェック。
※コメント欄でのご指摘ありがとうございます

#「2.パスワードの検証」を実装

先日のユーザー登録画面ではパスワード欄が1つしかなく、万が一誤入力した場合ユーザーはその事に気づくことができない。
その為、パスワードについては確認の為に2回入力させる方がよいと思われる。

##修正内容

入力フォーム上に確認用の入力フィールドを準備し、二つのフィールドの入力内容の一致チェックを行う。

具体的には新しくpasswordConfirmメソッドを追加。
passwordフィールドとpassword_confirmフィールドを比較し結果を返す。
一致していればTrue、一致していない場合はFalseを返しエラーとする。

passwordConfirm
	public function passwordConfirm($check){

		//2つのパスワードフィールドが一致する事を確認する
		if($this->data['User']['password'] === $this->data['User']['password_confirm']){
			return true;
		}else{
			return false;
		}

	}
0
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?