このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
|
apricot:app:user-edit [2020/05/13 23:34] y2sunlight [テスト実行] |
apricot:app:user-edit [2020/06/03 14:15] (現在) tanaka [編集用のテンプレート] |
||
|---|---|---|---|
| 行 17: | 行 17: | ||
| * [[apricot: | * [[apricot: | ||
| * [[apricot: | * [[apricot: | ||
| - | * [[apricot: | + | * [[apricot: |
| [[apricot: | [[apricot: | ||
| 行 47: | 行 47: | ||
| public function insert(array $inputs): | public function insert(array $inputs): | ||
| { | { | ||
| + | // 新規登録時、パスワードは必須 | ||
| // パスワード暗号化 | // パスワード暗号化 | ||
| $inputs[' | $inputs[' | ||
| 行 61: | 行 62: | ||
| public function update($id, array $inputs): | public function update($id, array $inputs): | ||
| { | { | ||
| + | // データ更新時、パスワードは入力した場合のみ変更 | ||
| + | if(empty($inputs[' | ||
| + | |||
| // パスワード暗号化 | // パスワード暗号化 | ||
| if(array_key_exists(' | if(array_key_exists(' | ||
| 行 74: | 行 78: | ||
| * Modelクラスの insert() と update() をオーバーライドし、password を暗号化して保存します。 | * Modelクラスの insert() と update() をオーバーライドし、password を暗号化して保存します。 | ||
| + | * update()では、パスワードは入力した場合のみ変更します。 | ||
| \\ | \\ | ||
| 行 266: | 行 271: | ||
| ===== HTMLテンプレート ===== | ===== HTMLテンプレート ===== | ||
| + | ユーザ登録用のHTMLテンプレートは2つあります: | ||
| + | |||
| + | * 新規登録用 --- create.blade.php | ||
| + | * 編集用 --- edit.blade.php | ||
| + | |||
| + | Apricotでは出来るだけシンプルな実装を示すようにクライアント側のバリデーションは行っていません。必要に応じて追加してご使用下さい。尚、入力値のチェックは後述のサーバー側の[[apricot: | ||
| + | |||
| + | また、以下のテンプレートでは、パスワードの確認入力がありません。これについても後述のバリデーションの章で追加する予定です。パスワードは新規登録時は必須入力ですが、更新時はパスワードを入力した場合のみ変更する仕様になっています。 | ||
| ==== 新規登録用のテンプレート ==== | ==== 新規登録用のテンプレート ==== | ||
| 行 333: | 行 346: | ||
| * **ユーザ新規登録** | * **ユーザ新規登録** | ||
| - | * テンプレート変数 '' | + | * テンプレート変数 '' |
| - | * ボイラープレート'' | + | * ボイラープレート'' |
| * [保存]ボタン押下で、フォームデータを '' | * [保存]ボタン押下で、フォームデータを '' | ||
| 行 412: | 行 425: | ||
| * **ユーザ編集** | * **ユーザ編集** | ||
| - | * テンプレート変数 '' | + | * テンプレート変数 '' |
| - | * ボイラープレート'' | + | * ボイラープレート'' |
| * 楽観的ロックを行う為にユーザデータの '' | * 楽観的ロックを行う為にユーザデータの '' | ||
| * [保存]ボタン押下で、フォームデータを '' | * [保存]ボタン押下で、フォームデータを '' | ||