2013-03-31 24 views
9

Po prostu zaczynam od kręgosłupa.Weryfikacja kręgosłupa nie działa

Zrobiłem prosty przykład przy użyciu VisualStudio2012. Dodałem kręgosłup.

w moich main.js

var Person = Backbone.Model.extend({ 
defaults: { 
    name: 'Mr Steel', 
    age: 26, 
    occupation: 'FrontEnd Web Developer' 
}, 

validate: function(attrs) { 
    if (attrs.age < 0) { 
     return 'Age must be a positive number.'; 
    } 
}, 

work: function() { 
    return this.get('name') + ' is working.'; 
} 
}); 

Ale kiedy idę do przeglądarki> konsoli. I wpisz następujące w. Validate doesnt nawet dostać wyzwalane.

var person = new Person(); 
person.get('age');//26 
person.set('age', -25);//sets -25 

Ustawia wiek na -25. to jest dziwne!! proszę pomóż.

Odpowiedz

20

Musisz podać parametr {validate:true} dla metody np. set

person.set('age', -25, {validate:true});

+0

prace, byt widziałem na wideo WHR nie robi persone przechodzi {walidacji: true} i nadal działa – STEEL

+7

@STEEL Tak, w starszej wersji metody Backbone '' set' automatycznie wywołuje metodę validate'. Ale teraz sprawdzanie poprawności jest domyślnie wyłączone. –