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 是一个对象,验证器没有查看对象,而是在对象级别查找字段。
我通过将范围转移到对象中解决了它 - 解决了:)
我猜是初学者的错误,很高兴找到它。
感谢帮助!
我正在尝试验证 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 是一个对象,验证器没有查看对象,而是在对象级别查找字段。
我通过将范围转移到对象中解决了它 - 解决了:)
我猜是初学者的错误,很高兴找到它。
感谢帮助!