我向模型和集合添加了驗證將不會獲取無效的模型。 (順便說一句,我用coffeescript所以例子在咖啡腳本)Backbone.js集合將無法獲取無效的模型
有人知道這個解決方案嗎?下面的心不是工作
collection = new UserCollection
collection.fetch({
silent: true
success: ->
console.log('collection.models:', collection.models)
})
更新1
我有很多用戶沒有手機號碼。
用戶收集:
class UserCollection extends Backbone.Collection
url: ->
app.routes.users_url
用戶模型:
class User extends Backbone.Model
idAttribute: '_id'
defaults: {
"email": null
"mobile": null
"loc": null
}
url: ->
app.routes.users_url + '/' + (@id || '')
validate: (attrs) ->
if !attrs.email
return "Email address must be provided"
if !attrs.name
return "Name must be provided"
if !attrs.mobile
return "Mobile number must be provided"
if @isNew() and attrs.password != undefined
if !attrs.password
return "Password must be provided"
if attrs.password != attrs.password_confirmation
return "Passwords do not match"
model: User
UPDATE 2
確定我臨時由黑客Backbone.js的固定它。
這是發生在功能_prepareModel
我改變了這一行:
if (model.validate && !model._performValidation(attrs, options)) model = false;
進入這一行:
if (!options.silent && model.validate && !model._performValidation(attrs, options)) model = false;
這是不是一個解決方案,所以我保留了這個問題開
您是否嘗試過傳遞'error'回調函數?它會被叫嗎? –
不打電話。 –
你可以發佈你的模型和驗證碼嗎? –