聞きたいこと
CakePHPで、モデルの特定の属性のみのバリデーションを実行するために、下のような実装をしているのですが、
バリデーションチェックに問題があり、遷移元のページに飛ぶ際に、バリデーションチェックしていない他の項目に関してもバリデーションエラーメッセージが表示されてしまいます。
- UserController.php
: public function modify() { $this->loadModel('User'); if($this->request->is('post') || $this->request->is('put')){ if ($this->Staff->save($this->request->data, TRUE, array( 'email', ))) { $this->Flash->set(__('emailアドレスを変更しました')); $this->redirect($this->refer()); } else { $this->Flash->set(__('emailアドレスの変更に失敗しました')); } } } :
- modify.ctp
<?php : <p>username: </p> <?php echo $this->Form->input('username', [ 'type' => 'text', 'required' => false, ]); ?> <p>email: </p> <?php echo $this->Form->input('email', [ 'type' => 'email', 'required' => false, ]); ?> <p>password: </p> <?php echo $this->Form->input('password', [ 'type' => 'password', 'required' => false, ]); ?>
- User.php
<?php class User extends AppModel { : public $validate = array( 'email' => array( 'rule' => array('email'), 'message' => 'メールアドレスの形式ではありません', ) }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/02/17 06:40