2010-08-17 95 views
0

在Cake应用程序中,如果用户提交表单以编辑记录,那么您认为怎样才能勾画所做的特定更改?我想将值显示给用户正在更改的所有字段,并向他们提供确认更改或返回并更改它们的选项。我认为它会涉及将提交的数据与现有记录进行比较,但我希望Cake有一些内置功能来完成此操作。有什么想法吗?我也对任何javascript解决方案开放,但我希望对仍在石器时代运行的用户有一个Cake后备。在提交表单之前显示确认页面

+0

我不知道你的应用程序的布局是一样(所以这可能是不可行的),但并不是让用户提交并审核/确认他们刚刚输入的所有内容,而是另一种解决方案是仅在新数据的每个输入旁显示一个静态字段,其中包含旧数据。 – 2010-08-17 17:57:35

回答

1

这似乎是一个过时的过程,以验证输入。我可以看到这是用于计费屏幕,但不一定每当用户想要编辑记录时。这就像我们质疑他们的质量,并说:“你确定你输入了一切正确吗?”我认为这是糟糕的设计,应该避免。他们会知道他们是否犯了错误。他们可以轻松地返回并在必要时再次进行更改。

我会建议提供简单的表单验证(确保电子邮件地址实际上是电子邮件地址,检查电话号码等)。除此之外,用户可以输入正确的信息。它可能会让人烦恼不断被问到,“你确定吗?”

这就是说,做到这一点的一种方法(如果你必须)是修改你的默认方法。因此,举例来说,如果你正在使用您的信息控制器称为更新()函数,你可以写这样的事情:

function update() { 
    if($this->data) { 
     if($this->data['Information']['confirmed']) { 
     // save updated information 
     } else { 
     // display changes to be made (use hidden fields and add confirmed=1) 
     }  
    } 
    // display edit form 
} 

我的意见是它的赌注,以保持功能全部在相同的方法如果可能的话。它防止代码遍布整个地方并变得难以管理。

祝你好运!

+0

我同意这是糟糕的设计,但不幸的是,这不是我所能接受的。不过,我很欣赏你的解决方案。 – Nick 2010-09-01 22:35:18

0

最好的办法是在数据库中创建一个归档和默认或第一填充和1将其设为0,一旦他证实了这一点