CakePHP手动将验证错误附加到表单

时间:2011-01-31 19:14:05

标签: validation cakephp forms

我想完成一项相当“微妙”的任务,所以我会尽力解释。

我有一个新闻项目页面,其中包含我添加评论表单的所有评论。就行动而言,在News->view()视图中,我添加了一个包含Comment->add()视图的元素。因此,发送新评论的当前流程是:进入新闻项目页面,填写评论表格,然后按提交。然后,数据会发送到CommentsControlleradd()操作,其中验证当前提交的数据。如果数据有效,它会保存注释并将我带回新闻项页面。如果它未验证,则会保留在CommentsController add()操作中,并将Comment->add()视图与错误一起呈现。

现在,即使数据未验证,我也希望返回新闻项目页面并显示错误,并将错误div附加到添加评论表单。我怎样才能做到这一点?

也许我通过创建包含Comment->add()处的相同表单的元素做错了,但我怎样才能在Comment->add()视图的底部包含News->view()视图?

我很感谢你能给予的任何帮助。

1 个答案:

答案 0 :(得分:0)

如果您正在以蛋糕的方式进行,您可以使用saveAll从新闻控制器中保存(假设您的模型是相关的)。

你会得到一个['新闻'] ['id'] = 123,['评论'] ...

的数组

这将允许您留在新闻控制器中并自动进行验证。您可以在app_controller中使用类似'comment'的方法,新闻控制器可以使用某些代码继承,例如$ this-> {$ modelName} - > saveAll(...)