2013-03-31 6 views
9

काम नहीं कर रहा है, बस बैकबोन जेएस शुरू कर रहा हूं।बैकबोन

मैंने VisualStudio2012 का उपयोग करके एक साधारण उदाहरण किया। मैंने रीढ़ की हड्डी को जोड़ा।

मेरी 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.'; 
} 
}); 

लेकिन> कंसोल जब मैं ब्राउज़र पर जाएं में। और निम्न में टाइप करें .. मान्य भी ट्रिगर नहीं होता है।

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

और यह उम्र -25 तक सेट करता है। वह अजीब है!! कृपया मदद करे।

उत्तर

20

आपको {validate:true} परम set विधि को पास करना होगा उदा।

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

+0

काम करता है, whr persone नहीं करता गुजरता byt मैं वीडियो पर देखा {मान्य: सच} और यह अभी भी – STEEL

+7

@STEEL हाँ काम करता है, पुराने रीढ़ संस्करण विधि में '' set' स्वचालित रूप से आह्वान validate' विधि। लेकिन अब सत्यापन डिफ़ॉल्ट रूप से अक्षम है। –