2016年1月15日金曜日

CakePHP 3で、ディフォルト以外のカスタムバリデーション

CakePHP 3で、ディフォルト以外のカスタムバリデーションです。newEntityや、patchEntityを設定する部分で、['validate' => 'カスタム']を指定することで、適応できるらしい。

src/Model/Table/UsersTable.php
public function validationProfile(Validator $validator)
{
  $validator
    ->requirePresence('fullname', 'update')
    ->notEmpty('fullname', '記入してください。');

  $validator
    ->requirePresence('address', 'update')
    ->notEmpty('address', '記入してください。');

  return $validator;
}
src/Controller/UsersController.php
$user = $this->Users->patchEntity(
  $user, 
  $this->request->data, 
  ['validate' => 'profile']
);

実際に設定してみたサイトがこちら

参考サイト
Saving Data (CakePHP Cookbook 3.x documentation)

0 件のコメント:

コメントを投稿