2013-03-31 46 views
9

Ich fange gerade mit backboneJs an.Backbone Validieren funktioniert nicht

Ich habe ein einfaches Beispiel mit VisualStudio2012 gemacht. Ich habe Backbone hinzugefügt.

in meinem 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.'; 
} 
}); 

Aber wenn ich zu Browser> Konsole gehen. Und geben Sie Folgendes ein: validate wird nicht einmal ausgelöst.

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

Und es setzt das Alter auf -25. das ist seltsam !! bitte hilfe.

Antwort

20

Sie müssen {validate:true} param zu set Verfahren z.

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

+0

Werke, byt i auf Video gesehen WHR die persone doesnt geht {bestätigen: true} und es funktioniert immer noch – STEEL

+7

@STEEL ja, ruft bei älteren Backbone Version Methode '' Set' validate' Verfahren automatisch. Aber jetzt ist die Validierung standardmäßig deaktiviert. –

Verwandte Themen