[英]Backbone model validation undefined attrs
因此,根據正在使用的書籍,我已經嘗試驗證模型,但是我收到的attrs未定義。
validate: (attrs, options)->
attrs
如果我繼續這樣做:
validate: ->
this.attributes
我可以很好地訪問模型的屬性,但是我認為這不是推薦的方法。
這是我的模型代碼:
class Todo extends Backbone.Model
defaults:
title: 'default title'
completed: false
validate: (attrs, options)->
attrs
myTodo new Todo
myTodo.validate()
//returns false because attrs is undefined
我想念什么?
從精美的手冊中 :
驗證
model.validate(attributes, options)
[...]默認情況下,在
save
之前調用validate ,但是如果傳遞了{validate:true}
,也可以在set
之前調用{validate:true}
。
因此validate
是由Backbone而不是您直接調用的。 您正在打電話validate
自己:
myTodo.validate()
但未傳遞任何參數,因此undefined
attrs
,因為您沒有傳遞其值。
您應該在調用myTodo.save()
或myTodo.set(new_values, validate: true)
時讓Backbone呼叫validate
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.