为什么我会收到错误:" .isValid()"不是功能?

时间:2016-10-15 15:04:38

标签: javascript backbone.js

我尝试在this video的帮助下,根据属性的可用性验证名为Book的模型。我试图按照如何验证Backbone.js模型的说明,但当我使用myBook方法验证它的实例.isValid()时,它返回错误:

Uncaught TypeError: myBook.isValid() is not a function

这是我的代码:

<script src="https://ajax.cdnjs.com/ajax/libs/backbone.js/0.3.3/backbone-min.js"></script>
<script src="https://ajax.cdnjs.com/ajax/libs/underscore.js/1.1.4/underscore-min.js"></script>
<script language="Javascript">
  var Book = Backbone.Model.extend({
    validate: function(attrs) {
      if (!attrs.title) {
        return "What's a book without a title?!";
      }
    }
  });

  var myBook = new Book();
  /* validation is run in browser */
</script>

这与上面链接的视频类似。当我进入控制台并运行.isValid()方法时,它会返回错误。

1 个答案:

答案 0 :(得分:1)

如果您没有提供具有答案的代码示例,那将很难帮助您。

Backbone 0.3.3还没有isValid

它是added in Backbone 0.9.1,但已在0.9.9中删除。

改进了added back in 1.0

升级Backbone并与h.has is not a function的评论相关后,您还需要升级underscore.js,因为在1.3.1中添加了_.has

您应该为您的项目使用最新的稳定版本的库,因为这样可以避免不兼容。