1

假设我有一个包含 2 个预填充字段的模型。我想在 DOM 中显示这些字段,以便用户在必要时进行修改。如果我使用 {{input value=field1}} 和 {{input value=field2}} 将 DOM 绑定到模型,那么每次用户在其中一个字段中输入字符时,Ember 都会立即更新绑定的模型。这不是我想要的行为。我更喜欢显示一个按钮;按下时,我想验证两个字段中的数据相互关联,如果有效,则更新模型。

我考虑在控制器中创建镜像字段并将它们绑定到 DOM。然后创建与按钮关联的操作来进行验证,如果发现数据有效,则将数据从控制器字段复制到相应的模型字段。这种技术可能有效,但似乎是一种非常迂回的方式来做一些概念上简单的事情。

你们中的一位 Ember 专家对如何最好地做到这一点有意见吗?我正在寻找最佳实践;请帮忙。

4

1 回答 1

1

我不是专家,也不熟悉 EmberData 中的客户端验证,因为我们的应用程序使用服务器端验证。

  1. 你确定你不能让你的模型立即更新(即绑定到模板字段)?

    如果您确实绑定了模型,那么您可以在提交时进行验证。如果验证失败,您可以只rollback进行更改。如果通过了,就可以save记录了。这大概就是我会做的。

  2. 但是,您明确声明您不想立即更新模型,这意味着您不想绑定模型。

    此外,您必须进行一些依赖于多个字段的处理才能进行验证,因此听起来确实像绑定到控制器并且具有验证操作是一个很好的解决方案,如果我没有绑定到模型,我会这样做。

于 2013-10-26T20:34:40.960 回答