即使数据库中尚不存在,它始终会说“此值已被使用”。
有时会说“此字段不能为空”
public function validationDefault(Validator $validator)
{
$validator
->integer('id')
->allowEmpty('id', 'create');
$validator->requirePresence('username', 'Please enter username.');
$validator
->requirePresence('password', 'create')
->notEmpty('password', 'You must enter a password', 'create')
->add('password', [
'length' => [
'rule' => ['minLength', 8],
'message' => 'Passwords must be at least 8 characters long.',
]
]);
$validator
->requirePresence('age', 'create')
->notEmpty('age');
$validator
->requirePresence('address', 'create')
->notEmpty('address');
$validator
->email('email')
->requirePresence('email', 'create')
->notEmpty('email');
$validator
->requirePresence('gender', 'create')
->notEmpty('gender');
return $validator;
}
public function buildRules(RulesChecker $rules)
{
$rules->add($rules->isUnique(['username']));
$rules->add($rules->isUnique(['email']));
return $rules;
}
<?php
namespace App\Model\Entity;
use Cake\Auth\DefaultPasswordHasher;
use Cake\ORM\Entity;
/**
* User Entity.
*/
class User extends Entity
{
protected $_accessible = [
'*' => true,
'id' => false
];
protected function _setPassword($password)
{
return (new DefaultPasswordHasher)->hash($password);
}
}
?>
我现在无法注册或添加更多数据,与之前无法添加或注册的不同,我最近更新了Cakephp的版本,还添加了数据库中的性别,地址和年龄字段
我是新手,
最佳答案
我自己遇到了这个问题,对我来说,罪魁祸首是现场的“ isUnique”电话。我的问题是电子邮件字段,它不必唯一。
此外,在生产环境中更改模型后,必须清除缓存以使新提交的字段进入数据库。
“蛋糕缓存clear_all”。
我无法发表评论。
关于php - 使用cakephp3.4.13进行验证时会发生什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46684324/