当rollbackAttributes()使记录无法使用时,在Ember中处理验证错误的正确方法是什么

时间:2016-08-04 15:28:34

标签: ember.js ember-data

我想我天真地认为,当用户填写无法保存的表单并且服务器返回422 Unprocessable Entity时,我可以使用rollbackAttributes()并让用户输入新值并重试。

不幸的是,rollbackAttributes()似乎离开状态root.deleted.saved的记录,这使得它无法使用。

更多讨论here。我得到了讨论的问题,Attempted to handle event 'didSetProperty' on [...] while in state root.deleted.saved

如果记录不可用,回滚的重点是什么?处理这个问题的正确方法是什么?

谢谢!

更新:

至于我为什么要这样做,我有一个表单,每次更改字段时都会更新,因此对于用户来说,哪个字段无效,即刚刚编辑的字段,这是相当明显的。同时,我有一个通用的保存事件,不知道编辑了哪个字段,因此根据发生的错误而不是在每个相关字段旁边显示漂亮的上下文验证错误,我是懒惰的,只是回滚所以人可以尝试输入新值。回滚是最容易的,所以我不需要弄清楚改变了什么。

但正如评论中指出的那样,问题可能是我没有区分未保存和已保存的记录。

0 个答案:

没有答案