PHPシェアするパスワードの入力を求めるフォームには、確認用パスワードの入力も付きものだったりします。その際に、2つの入力内容が一致しているかどうかをバリデーションで確認する実装を紹介したいと思います。まとめバリデーションの記述パスワードに対して以下のバリデーションをセットします。'ユーザ名は省略出来ません。'パスワードは省略出来ません。}バリデーションのルールに「compareWith」というものがあります。上記のようにルールを設定しておくことで、「password」と「password_check」を比較して一致しなければエラーを返すようになります。設定自体はこれだけになります。実際にどう使うかをこれから説明します。簡単な入力フォームを用意します。</fieldset></form>ここで「name」の要素に「password」と「password_check」を指定しておきます。先ほどのフォームから送信されたデータを受け取る側のコントローラーの処理はこちらになります。}POSTで受け取ったデータをエンティティに変換しています。「$user->errors()」でnewEntity()時にチェックされたバリデーションのエラーを取得することができます。エラーがなければ確認画面へ、エラーがある場合は確認ん画面には遷移せずにエラー表示をします。まとめ使用するモデルの「validationDefault」で、チェック対象のカラムに対して「compareWith」のルールを追加するだけです。okiku飲食業界からIT業界に転身してきて現在2年目です。PHPの経験がメインとなります。これまで自分がPHPを扱ってきた上で、モヤモヤしてきたことをメインに記事にしていきますのでよろしくお願いいたします。【PHP】文字数を取得する今回は文字数の取得を行います。strlen関数とmb_strlen関数は文字列を取得する点では共通していますが、返すものが異なります。Template」エラーが出てきました。対応するディレクトリに関数名と同じ名前のctpファイルを格納しているはずなのに。調べたところ、それまであまり気にしていなかった命名規則に原因があるらしい、、。記事を読むCakePHP3で検索結果をページネーションCakePHP3で簡単にできるページネーションを紹介します。今回は1ページあたりの件数とソートをいじって、検索結果をページ分けします。その上で、前後のページへのリンクやナンバリングをしたリンクを表示させます。記事を読むEC-CUBE3でテーブルにカラムを追加EC-CUBE3のプラグインでは、基本的に既存テーブルに対してカラムを追加するような拡張は推奨されていません。新規にテーブルを作るよりも、既存テーブルにカラムを追加した方が効率的なこともあるので、そんな時のためにやり方を紹介しています。記事を読むEC-CUBE3プラグインの雛形の作り方EC-CUBE3.0.13以降で搭載されたプラグインジェネレーターを使って、プラグインの雛形をコンソールコマンドで簡単に生成出来るようになったので、その使い方の紹介です。記事を読むCakePHPで同じカラムに複数のカスタムバリデーションをセットする方法CakePHPのバリデーションの話です。同じカラムに対して複数のカスタムバリデーションを設定したかったのですが、1つしかバリデーションが効かなかったので原因を追求しました。記事を読むCakePHP3で個別にログファイルを残す方法CakePHP3で、デフォルトで用意されているログ以外のファイルにログを出力する方法を紹介いたします。「error」でも「debug」でもないロガーを「app.php」に追加し、スコープを使って追加したロガーで書き込む処理をするだけです。記事を読むCakePHP3でシェルを作成し、コンソールから実行する方法CakePHP3でシェルを作成し、コンソールから実行する手順を説明いたします。シェルを作ることができれば、cronジョブを使用してバッチ処理を実現するなど、ウェブブラウザからのアクセスを必要としない処理に使うことができます。記事を読むCakePHP3で作成したシェルをcron設定する(バッチ処理)CakePHPで作成したスクリプトの実行コマンドをcronに設定することで、バッチ処理を実現する方法です。以前、CakePHPでシェルを作成する方法を記事にしたので、cronに時間とコマンドの設定方法をメインに説明していきます。記事の一覧を動的に表示させ、記事毎に設置させているボタンを押すと、対象の記事の「記事タイトル」を使った確認ダイアログが表示されるようにしたかった。CakePHPで色々処理を書いていた中、JavaScriptを連動させてみました。