【发布时间】:2011-08-12 17:54:00
【问题描述】:
警告:我正在使用我无法完全控制的后端,因此我正在努力解决 Backbone 中可能在其他地方更好地解决的一些注意事项......不幸的是,我别无选择,只能在这里处理它们!
所以,我的问题是我真的很想验证来自表单的用户输入(当我在 Backbone 模型上使用它设置值时),但是我从新创建对象的 API 收到的模型(通过仅接受一个名称,并且只返回一个名称和对象 ID)将无法通过我的验证检查。
例如,当在数据库中创建一个新对象时,两个关键字段被填充为空字符串(因此,当 Backbone 访问 API 并填充模型时,它会使用空字符串填充这些键)。当用户将这些对象保存回来并进行后期编辑时,我想强制他们为这两个键输入值——考虑到 Backbone 的内置验证方法,这非常容易。
当然,问题在于验证同时在 fetch->set(不需要的行为)和 set->save(期望的行为)上触发——因此新创建的模型根本不会加载... Backbone 收集它们,验证失败,并触发错误。
所以,我的问题是:是否有一种“Backbone-y”方式仅在 set->save 上验证模型,而不是在 fetch->set 上验证模型?我可以使用特定的触发器来解决这个问题吗?
任何想法将不胜感激。
【问题讨论】:
标签: backbone.js