Я работаю над Cake 3. Я хочу создать собственное правило проверки. Я хочу проверить, равно ли поле «пароль» полю «confirm_password».
Это мой код:
public function validationDefault(Validator $validator) {
$validator
->add('id', 'valid', ['rule' => 'numeric'])
->allowEmpty('id', 'create')
->add('email', 'valid', ['rule' => 'email'])
->requirePresence('email', 'create')
->notEmpty('email')
->add('email', 'unique', ['rule' => 'validateUnique', 'provider' => 'table'])
->requirePresence('password', 'create')
->notEmpty('password')
->notEmpty('confirm_password')
->add('confirm_password', 'custom', [
'rule' => function($value, $context) {
if ($value !== $context['data']['password']) {
return false;
}
return false;
},
'message' => 'The passwords are not equal',
]);
return $validator;
}
Когда я пытаюсь «сбой» отправить форму, код сохраняется, и я не получаю никакой ошибки.
Я прочитал http://book.cakephp.org/3.0/en/core-libraries/validation.html#custom-validation-rules, но не помогло... Кто-нибудь?
Спасибо!