我试图验证POST以创建新用户,但Cake拒绝接受给定的数据。
验证器按以下方式设置:
$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或其他地方找到任何人来调试此问题,所以我在这里问。
提前致谢
答案 0 :(得分:1)
发现错误:
employee是一个对象,验证器没有查看对象,但查找了对象级别的字段。
我通过将范围转移到对象中解决了它 - 解决了它:)
初学者错误我想,很高兴找到它。
感谢您的帮助!