蛋糕 PHP 验证在一个操作中可见在另一个操作中可见


cakecake php validation in one action visible in another

我有控制器users .在这个控制器中,我有操作帐户,它不做任何事情 - 它只有一个具有多种形式的视图 - 更改密码,更改某些内容,阻止帐户等。每个表单都链接到一些操作:users/changepasswordusers/changesomething等。这些操作没有任何视图,只有save(..)期间和最后简单redirect->( array( 'action' => 'account' ) );的一些逻辑和验证。所以总结一下 - 在用户/帐户视图中,有几种形式指向单独的操作。逻辑执行后的这些操作将重定向回用户/帐户。

现在问题是我想查看提交的任何形式的所有无效字段(根据验证规则) - 如果视图与控制器处于同一操作中,这有效,但是当我使用重定向时,所有无效字段都会丢失 - 我该如何解决它?

两个选项:

1)在会话中保存错误,重定向回帐户并再次设置它们。

2)更好的解决方案:将所有表单发布到您的帐户操作中,并在每个表单中都有一个隐藏字段,其中包含类型或其他内容。根据类型调用一个模型方法,如果您正确遵循 MVC,该方法应执行所有验证并保存工作。