环回:从另一个模型验证模型未返回正确的错误消息

Loopback : Validate model from another model is not returning proper error message

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

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"
        ]
      }
    }
  }
}

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

我怎样才能做到这一点。

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

You might run into situations where you need to raise a validation error yourself, for example in a "before" hook or a custom model method.

    if (model.isValid()) {
        return callback(null, { success: true });
    }

    // This line shows how to create a ValidationError
    var err = new MyModel.ValidationError(model);
       callback(err);
    }