【发布时间】:2018-05-26 00:24:49
【问题描述】:
我正在尝试验证 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 或其他地方找不到任何人来调试这个问题,所以我在这里问。
提前致谢
【问题讨论】:
-
花点时间看看用户实体。检查可访问的数组列表。
-
debug($employee)输出什么?那里有田地吗?
标签: php validation cakephp cakephp-3.0