Cakephp验证不起作用

Cakephp验证不起作用,php,cakephp,cakephp-3.0,Php,Cakephp,Cakephp 3.0,我在CakePHP3.6下的表单验证方面遇到了问题 在旧版本的CakePHP上,验证不是问题,但是没有办法通过模型验证我的表单。 我按照不同网站的教程,在论坛上看,任何解决方案都不起作用。 如果我没记错的话,在我看来,在CakePHP 3的第一个版本中,验证是在保存时进行的,即使没有输入数据,我也有一个没有任何值的保存 我的看法是: //src/Template/Users/Register.ctp 铭文 patchEntity将首先验证数据,然后返回实体对象 来源:patchEntity将

我在CakePHP3.6下的表单验证方面遇到了问题

在旧版本的CakePHP上,验证不是问题,但是没有办法通过模型验证我的表单。 我按照不同网站的教程,在论坛上看,任何解决方案都不起作用。 如果我没记错的话,在我看来,在CakePHP 3的第一个版本中,验证是在保存时进行的,即使没有输入数据,我也有一个没有任何值的保存

我的看法是:

//src/Template/Users/Register.ctp


铭文

patchEntity将首先验证数据,然后返回实体对象


来源:

patchEntity将首先验证数据,然后返回实体对象


来源:

您必须将名称空间添加到UsersTable

<?php
namespace App\Model\Table; /// <<< add this line

use Cake\ORM\Table;
use Cake\Validation\Validator;

class UsersTable extends Table
{

    public function initialize(array $config)
    {
        $this->addBehavior('Timestamp');
    }

    public function validationDefault(Validator $validator)
    {
        return $validator
            ->notEmpty('username', "Un nom d'utilisateur est nécessaire")
            ->notEmpty('password', 'Un mot de passe est nécessaire');
    }
}

您必须将名称空间添加到UsersTable

<?php
namespace App\Model\Table; /// <<< add this line

use Cake\ORM\Table;
use Cake\Validation\Validator;

class UsersTable extends Table
{

    public function initialize(array $config)
    {
        $this->addBehavior('Timestamp');
    }

    public function validationDefault(Validator $validator)
    {
        return $validator
            ->notEmpty('username', "Un nom d'utilisateur est nécessaire")
            ->notEmpty('password', 'Un mot de passe est nécessaire');
    }
}

乍一看,这一切都很正常。运行此操作时会得到什么结果?如果您
debug($user)
patchEntity
调用之后,您得到了什么?除了与表单相关的数据之外,我什么都不是,没有错误。。。src\Controller\userscocontroller.php(第13行)对象(Cake\ORM\Entity){'email'=>'','username'=>'','lastname'=>'','firstname'=>'','password'=>'','type'=>'','new'=>true','accessible'=>['*'=>true],'dirty]=>['email'=>true、'username'=>true、'lastname'=>true、'firstname'=>true、'password'=>true、'type'=>true]、'[original]'=>[]、'[virtual]'=>[]、'[errors]'=>[]、'[invalid]'=>[]、'[repository]=>'Users'这些乍一看都没问题。运行此程序时会得到什么结果?如果
debug($user)
在调用patchEntity之后,你得到了什么?除了与表单I'm nothing相关的数据之外,没有错误…src\Controller\users Controller.php(第13行)对象(Cake\ORM\Entity){'email'=>'','username'=>'','lastname'=>'','firstname'=>'','password'=>'','type'=>,'new=>true,'accessible'=>['*'=>true]、'[dirty]'=>['email'=>true、'username'=>true、'lastname'=>true、'firstname'=>true、'password'=>true、'type'=>true]、'[original]'=>[]、'[virtual]'=>[]、'[errors]'=>true、'[invalid]=>[]、[repository]“=>”用户“我刚刚尝试了此方法,得到了完全相同的结果,为我保存了一个空表单和0个错误…我刚刚尝试了此方法,得到了完全相同的结果,为我保存了一个空表单和0个错误。。。