我想写一个可以检查查询中参数长度的装饰器,我有这个方法:
@httpPost("doAuth")
@ValidateSize([{login: {min: 6}}, {password: {min: 6}}])
public async auth(@requestBody("login") login :string, @requestBody("password") pass :string, @response() response :express.Response){
let user :UserData = await this.authService.auth(login, pass);
if(!user) return response.sendStatus(403);
return user;
}
装修师本人:
export function ValidateSize(param :Object) {
return function (target: any, propertyKey: string, descriptor: PropertyDescriptor) {
return {
value: function (...args: any[]) {
//Here I need to get the variables login, pass that to check their length
}
};
}
}
问题是这args
是一个带有数字索引的数组,但我需要通过它们的名称获取参数。我怎样才能做到这一点?