in lib/generator.js [1065:1087]
visitFieldValidate(fieldValue, fieldName, value, level) {
const deep = Math.floor(level / 4);
if (fieldValue.type === 'modelBody' || fieldValue.type === 'moduleModel' ||
fieldValue.type === 'subModel' || fieldValue.idType === 'model' ||
(fieldValue.fieldType && (fieldValue.fieldType.type === 'moduleModel' ||
fieldValue.fieldType.idType === 'model' || fieldValue.fieldType.idType === 'builtin_model'))) {
if(deep > 1) {
this.emit(` if ${value}:\n`, level);
}
this.emit(`${value}.validate()\n`, level + 2);
} else if (fieldValue.type === 'array' || fieldValue.fieldType === 'array') {
this.emit(`for v${deep} in ${value}:\n`, level);
this.visitFieldValidate(fieldValue.fieldItemType || fieldValue.subType, fieldName, `v${deep}`, level + 2);
} else if (fieldValue.fieldType === 'map' || fieldValue.type === 'map') {
this.emit(`for v${deep} in self.${fieldName}.values():\n`, level);
this.visitFieldValidate(fieldValue.valueType, fieldName, `v${deep}`, level + 2);
} else {
if(deep > 1) {
this.emit(` if ${value}:\n`, level);
}
this.emit(`${value}.validate()\n`, level + 2);
}
}