簡體   English   中英

骨干模型驗證未定義屬性

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM