CakePHP 3.x 验证器拒绝获取正确的数据

CakePHP 3.x Validator refuses to take correct data

我正在尝试验证 POST 以创建新用户,Cake 拒绝接受给定的数据。

Validator 的设置方式如下:

    $validator
        ->requirePresence('first_name', 'create')
        ->notEmpty('first_name');

    $validator
        ->requirePresence('last_name', 'create')
        ->notEmpty('last_name');

    $validator
        ->email('email')
        ->requirePresence('email', 'create')
        ->notEmpty('email');

    $validator
        ->requirePresence('title', 'create')
        ->notEmpty('title');

即使我在使用

进行调试时以正确的格式、正确的数据类型为它提供了成功所需的所有数据
    $x = $employee->errors();
    if ($x) {
        debug($employee);
        debug($x);
    }

上面提到的字段仍然有错误:

'first_name' => [
    '_required' => 'This field is required'
],
'last_name' => [
    '_required' => 'This field is required'
],
'email' => [
    '_required' => 'This field is required'
],
'title' => [
    '_required' => 'This field is required'
]

我没想到 Cakes Validator 会出现这个问题,为什么它会拒绝这个?我也不知道如何更深入地调试问题,因为验证器中发生了很多自动魔法。

无论字段是否填充了正确的数据或根本没有填充,都会发生错误 - 我在 SO 或其他地方找不到任何人来调试这个问题,所以我在这里问。

提前致谢

发现错误:

employee 是一个对象,验证器没有查看对象,而是在对象级别查找字段。

我通过将范围转移到对象中解决了它 - 解决了:)

我猜是初学者的错误,很高兴找到它。

感谢帮助!