2013-05-29 57 views
0

我有一个表单与jQuery自动完成使用标准的方法与可见的输入字段的文本和一个隐藏的ID字段的是 - 要传递的ID。为了避免无效输入,我使用CakePHP验证来检查id。标准实现将在隐藏的ID字段上显示错误消息,即。它根本不会出现。现在我实现了两种方法将错误消息重定向到可见输入字段: 1)我为输入字段设置了验证规则,而不是隐藏的id字段。验证发生在自定义函数中,我使用$ this-data ['id']来检查id的有效性。 2)我已经添加额外的键“redirectMessage”到validate阵列和在ModelValidator类,我已经修改了方法“无效”这样的:CakePHP 2验证错误与jQuery自动完成

$curVal = $this->_model->validate[$field]; 
if(array_key_exists('redirectMessage', $curVal)) 
    $field = $curVal['redirectMessage']; 

    $this->getModel()->validationErrors[$field][] = $message; 

如预期这两种工作方式 - 但 - ISN有没有官方的方法来解决这个问题?

问候

亚历

回答

0

Model::invalidate()可能是一个 “官方” 的方式来做到这一点?

$this->getModel()->invalidate($field);