これはしびれました:
$validator ->add('current_password','custom',[ 'rule'=> function($value, $context){ $user = $this->get($context['data']['id']); if ($user) { if ((new DefaultPasswordHasher)->check($value, $user->password)) { return true; } } return false; }, 'message'=>'The old password does not match the current password!', ]) ->notEmpty('current_password');
なんでここでgetでユーザのエンティティ取れるの!?と思ったんですがよく考えたらここは
UsersTable.php
なので当然、getを使えるんですよね…