根据参数Sails.js创build一个所需的属性
我有一个有两个属性的模型。 一个叫userType ,一个叫lastName 。
基本上我想要做的是:如果userType是professor
那么lastName应该是必需的。
userType: { type: 'string', required: true, enum: ['professor', 'administrator'] }, lastName: { type: 'string', required: function() { return this.userType === 'professor'; } },
为什么我不能通过必要的function? 在水线文档中甚至有一个contains
validation的例子。
如果不可能的话,有没有其他办法可以做到这一点? 我不想在控制器上创build自定义validation,我想把所有东西都留给模型。 也许甚至使用beforeValidatecallback。
谢谢
根据sails文档http://sailsjs.org/documentation/concepts/models-and-orm/validations
你可以做出自己的validation,例如:
module.exports = { types: { isProfessor: function(lastName){ return (this.userType === 'professor' && !lastName)? false: true; } }, attributes:{ userType: { type: 'string', required: true, enum: ['professor', 'administrator'] }, lastName: { type: 'string', isProfessor: true } } }