繁体   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