Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 主干模型验证未定义属性_Javascript_Backbone.js_Coffeescript - Fatal编程技术网

Javascript 主干模型验证未定义属性

Javascript 主干模型验证未定义属性,javascript,backbone.js,coffeescript,Javascript,Backbone.js,Coffeescript,所以我已经得到了我的模型,我正在尝试验证,根据书中的说明,这应该是可行的,但是我收到的ATTR是未定义的 validate: (attrs, options)-> attrs 如果我继续这样做: validate: -> this.attributes 我可以很好地访问模型的属性,但是我不认为这是推荐的方法 这是我的型号代码: class Todo extends Backbone.Model defaults: title: 'def

所以我已经得到了我的模型,我正在尝试验证,根据书中的说明,这应该是可行的,但是我收到的ATTR是未定义的

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 
我错过了什么?

来自:

验证
模型。验证(属性、选项)

默认情况下,[…]在
save
之前调用validate,但如果通过
{validate:true}
,也可以在
set
之前调用

因此,
validate
应该由主干调用,而不是直接由您调用。您正在自己调用
validate

myTodo.validate()
但是不传递任何参数,所以
attrs
未定义的
,因为您没有传递它的值


调用
myTodo.save()
myTodo.set(新值,validate:true)时,应该让主干调用
validate

非常感谢。现在感觉很明显!:)