Я смотрел на этот вопрос: Проверка регулярного выражения CakePHP 3
И я не могу заставить работать подобную функцию. Кажется, в обход правила:
$validator
->scalar('password')
->add('password', 'custom',[
'rule' => function ($value, $context) {
return !preg_match('/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@$.!?#]).{8,}$/i', $value);
},
'message' => 'Password must be at least 8 characters long.'
])
->maxLength('password', 255)
->requirePresence('password', 'create', 'This field is required.')
->notEmpty('password');
Может кто-нибудь помочь с тем, что я делаю неправильно?