首页 > 解决方案 > 环回 - 远程之前的验证

问题描述

Loopback 在将数据保存到模型时验证数据。我在保存远程方法之前正在处理数据,我得到 500,因为该字段不存在,但我validatesPresenceOf()在该字段上使用。

module.exports = function(Otp) {
  Otp.validatesPresenceOf('number', {
    message: 'Phone number is required',
  });

  Otp.send = function(number, cb) {
    // Getting 500 here because number is null
    if (number.toString().length === 10) {
      number = '1' + number;
    }

    // Loopback is validating number here
    Otp.create({
      number: number
    });
  });
}

如何number在调用远程方法之前验证是否存在?

我可以检查远程字段本身是否存在,但我想使用环回的内置验证

标签: node.jsloopbackjs

解决方案


您不能使用内置验证,但您可以使用此处定义的 beforeRemote 挂钩,如此处所述

Otp.beforeRemote( "send", function( ctx, next) {
    // put your custom validation here
    if(!ctx.args.number){
       return next("Your Error")
    }
    next();
});

推荐阅读