gpt4 book ai didi

cakephp-3.0 - 如何在 cake 3 中创建自定义验证规则

转载 作者:行者123 更新时间:2023-12-04 13:05:56 24 4
gpt4 key购买 nike

我正在研究 Cake 3。我想创建一个自定义验证规则。
我想检查字段 'password' 是否等于 '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但没有帮助....有人吗?

谢谢!

最佳答案

另一种将两个密码与 CakePHP 3 验证进行比较的内置方法可能是:

->add('confirm_password',
'compareWith', [
'rule' => ['compareWith', 'password'],
'message' => 'Passwords not equal.'
]
)

您也可以将此添加到您的 validationDefault表定义中的方法。

关于cakephp-3.0 - 如何在 cake 3 中创建自定义验证规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27620363/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com