【发布时间】:2012-01-24 08:04:04
【问题描述】:
我正在使用 cakephp 版本 2.0.2 并且对于为什么将数据提交给模型关联的表单提交没有显示关联的错误消息而摸不着头脑。
我一直在深入研究 Model 类以进一步诊断。我发现如果表单的主要模型有自己的验证错误,那么返回的任何关联都不会显示任何验证错误:
$this->validationErrors
但我想我找到了确凿的证据。在 Model.php 的 validateAssociated 方法中,您会看到:
$this->validationErrors = $validationErrors;
if (isset($validationErrors[$this->alias])) {
$this->validationErrors = $validationErrors[$this->alias];
}
第一行设置$this->validationErrors 以包含所有关联中的所有累积错误。但是如果$validationErrors 包含$this->alias 的键(主要模型名称)的错误,那么正如您所见,$this->validationErrors 会被这些错误覆盖。
所以这引出了一个问题....为什么?我很确定这是一个错误,我想修改我的 Model.php,我认为它会起作用。但我想把这个放在其他人面前,以防我在这里做一些非常愚蠢的事情。
【问题讨论】:
标签: cakephp