2012-03-08 14 views
3

當使用T. Hedersen的backbone.validation插件(https://github.com/thedersen/backbone.validation)和Derick Bailey的backbone.model綁定插件(https://github.com/derickbailey/backbone.modelbinding)時,我遇到了一個問題。使用Backbone.ModelBinding和Backbone.Validation

我把一個jsFiddle例子(http://jsfiddle.net/simax/bEqnZ/)放在一起來嘗試和演示這個問題。

在示例中,如果您刪除名字或姓氏的內容,則isValid(true)調用仍然返回true,這是不正確的,因爲名字和姓氏都是必填字段。您還會注意到DisplayForm未正確更新。看起來模型屬性沒有被正確「解除」。

但是,如果您刪除對Backbone.Validation.this(綁定)的調用,則模型屬性和DisplayForm會正確更新。

任何人都知道問題是什麼?

回答

5

快速回答

更改驗證行:

Backbone.Validation.bind(this, {forceUpdate: true}); 

背景

當modelbinding試圖更新模型,驗證失敗和模型根本沒有更新。

設置forceUpdate標誌允許您的模型處於無效狀態(因此可以保存一個空字符串)。