使用cakephp3.4.13验证了什么?

时间:2017-10-11 09:14:11

标签: php css cakephp cakephp-3.0

它总是说'这个价值已经在使用'虽然还没有出现在数据库中。

有时它会说"这个字段不能留空"

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版本,我还在数据库中添加了性别,地址和年龄字段

我是新手,

1 个答案:

答案 0 :(得分:0)

我自己遇到了这个问题,对我来说,罪魁祸首是'isUnique&#39;打电话给球场。我的问题是电子邮件领域,它并不是唯一的。

此外,在生产环境中更改模型后,必须清除新提交字段的缓存以进入数据库。 &#39; cake cache clear_all&#39;。

我无法发表评论。