【问题标题】:Loopback : Validate model from another model is not returning proper error message环回:从另一个模型验证模型没有返回正确的错误消息
【发布时间】:2018-03-28 20:18:42
【问题描述】:

我正在验证来自另一个模型的模型,如下所示

Model.addFavorite = function (data, callbackFn) {
        if (data) {
            var faviroteModel = this.app.models.Favorite;
            var objFavorite = new faviroteModel(data);
            objFavorite.isValid(function (isValid) {
                if (isValid) {
                    callbackFn(null, objFavorite);
                }
                else {                   
                    callbackFn(objFavorite.errors);
                }
            });
        }
        else callbackFn("Post data required", {});
    }

如果我这样做,那么我会收到如下错误

{
  "error": {
    "statusCode": 500,
    "t": [
      "is not a valid date"
    ]
  }
}

它应该带有如下错误消息

{
  "error": {
    "statusCode": 422,
    "name": "ValidationError",
    "message": "The `Favorite` instance is not valid. Details: `t` is not a valid date (value: Invalid Date).",
    "details": {
      "context": "Favorite",
      "codes": {
        "t": [
          "date"
        ]
      },
      "messages": {
        "t": [
          "is not a valid date"
        ]
      }
    }
  }
}

谁能告诉我我在这里缺少什么。

我怎样才能做到这一点。

【问题讨论】:

    标签: validation loopbackjs strongloop loopback angular-loopback


    【解决方案1】:

    https://github.com/strongloop/loopback-datasource-juggler/blob/master/lib/validations.js#L843

    您可能会遇到需要进行验证的情况 错误自己,例如在“之前”钩子或自定义模型中 方法。

        if (model.isValid()) {
            return callback(null, { success: true });
        }
    
        // This line shows how to create a ValidationError
        var err = new MyModel.ValidationError(model);
           callback(err);
        }
    

    【讨论】:

      猜你喜欢
      • 2018-08-03
      • 2020-08-31
      • 2012-03-20
      • 1970-01-01
      • 1970-01-01
      • 2016-08-30
      • 2020-07-01
      • 2015-08-05
      • 1970-01-01
      相关资源
      最近更新 更多