验证Backbone没有开火

时间:2015-09-04 14:14:36

标签: javascript backbone.js

我正在获取验证日志“这是否正在工作”,如果我在if语句中输入日志,我也会得到它。它似乎没有触发this.on('invalid')事件。有什么原因吗?

var Todo = Backbone.Model.extend({
    defaults: {
        title: '',
        completed: false
    },
    validate: function(attrs){
        console.log("IS THIS EVEN WORKING");
        if(attrs.title == '' || !attrs.title){
            return "ya gone done messed it up";
        }
    },
    initialize: function(){
      console.log('todo model created'),
      /*this.on('change:title', function(){
          console.log(this.get('title') + 'values have changed');
      });*/
      this.on("invalid", function(model, error){
          console.log(error);
      })
    }
});


var todo2 = new Todo({
    completed:true
});

todo2.set('completed', false, {validate:true});

console.log(todo2.get('completed'));

1 个答案:

答案 0 :(得分:0)

在骨干网的早期版本(0.9.9之前)中,从验证方法返回的内容触发了error事件,而不是 componentDidUpdate() { if ((this.props.index == this.props.selected)) React.findDOMNode(this).scrollIntoView(); } 。除此之外,您还有一些语法错误,但这并不能阻止它在大多数浏览器中运行。

Jsbin