Example of ‘Locked’ YUI Model
This examples shows how a YUI Model instance can be implemented with a locking feature to prevent changes by overriding the `validate` method.
by ericf
JavaScript
YUI().use('model', function (Y) {
var User, myUser;
User = Y.Base.create('user', Y.Model, [], {
isLocked : false,
validate : function (attrs) {
return (this.isLocked && 'User is locked!') || null;
}
}, {
ATTRS : {
username : {},
password : {},
realname : {}
}
});
myUser = new User({
username : 'ericf',
password : 'secret',
realname : 'Eric Ferraiuolo',
});
myUser.on('error', function (e) {
alert(e.error);
});
myUser.isLocked = true;
myUser.set('password', 'super secret');
myUser.isLocked = false;
myUser.set('password', 'bla bla');
alert('Password: ' + myUser.get('password'));
});