【问题标题】:One model attribute equal to the other by default in sail.js model在sail.js 模型中,一个模型属性默认等于另一个模型属性
【发布时间】:2015-02-02 11:09:04
【问题描述】:
有没有办法在sails.js 模型中将一个属性设置为等于另一个属性而不更新?比如:
username: {
type: 'string',
required: true
},
fullname: {
type: 'string',
defaultsTo: this.username
},
...
【问题讨论】:
标签:
javascript
node.js
model-view-controller
sails.js
waterline
【解决方案1】:
是的,您可以使用 afterValidate 回调来执行此操作。我推荐 afterValidate() 因为它会检查已经需要的用户名。
attributes : {
username: {type:'string',required:true},
fullname: {type:'string'}
},
afterValidate: function(values,next){
if(!values.fullname) values.fullname = values.username;
return next();
}