我有一個表單使用Backbone的model.validate函數來驗證表單。表單監聽模型的change sync invalid
事件,如果模型具有validationError
屬性,則呈現錯誤狀態。這在驗證失敗時效果很好,但隨後成功時,validationError
對象仍然存在。Backbone.js如何在成功驗證時清除model.validationError
我知道,這是expected behaviour(http://backbonejs.org/#Model-validationError),但我需要一種方式來運行的錯誤只渲染代碼當先前驗證失敗沒有調用model.isValid()
,因爲我的驗證碼是相當複雜一些使用此通用視圖的模型類型。
render: function() {
var html = '';
// Error Row html
if (this.model.validationError) {
html += this.renderValidationErrors();
}
...
this.$el.html(html);
...
}
感謝;這是問題的一部分;另一部分是我的驗證代碼調用'set';不是我曾經擁有的最好主意。 :) – CullenJ
我也會建議檢查這個插件的反應驗證https://github.com/thedersen/backbone.validation。我已經多次使用過它,並且它在聲明式驗證中效果很好 –
這應該是驗證:函數(attrs)和attrs.name而不是this.get('name')否則在實際設置屬性之前驗證doesn沒有工作。 http://backbonejs.org/#Model-validate –