如何将验证错误发送回Angular2应用程序

如何将验证错误发送回Angular2应用程序,angular,validation,wakanda,Angular,Validation,Wakanda,在Angular4应用程序的一个组件中,我使用实体的保存方法。验证事件在保存过程之前执行,并在发生错误时返回错误对象。 如何从验证事件中获取自定义错误对象 组成部分: Observable.fromPromise(this.workTimeDialogParams.entity.save()).subscribe( res => { debugger; }, err => { debugger; } ); 服务器端验证

在Angular4应用程序的一个组件中,我使用实体的保存方法。验证事件在保存过程之前执行,并在发生错误时返回错误对象。 如何从验证事件中获取自定义错误对象

组成部分:

Observable.fromPromise(this.workTimeDialogParams.entity.save()).subscribe(
    res => {
        debugger;
    },
    err => {
        debugger;
    }
);
服务器端验证事件:

model.XXX.events.validate = function(event) {
    var result = {};

    if (checkCondition === false) {
        result.error = 123,
        result.errorMessage = 'The value is to long'
    }

    return result ;
};

在subscribe函数中,我希望获得服务器的validate函数发送的特定错误(例如123“value to long”),而不是一般错误500“Internal server error”。

下面是一个如何检索
validate
error的示例


不要在验证中使用,只需在提交函数中使用承诺为什么要使用Observable.fromPromise而不是只使用Observable?:)捕获并抛出错误,并将错误响应分配给模板中显示的变量。实体的“save()”方法返回承诺,因此我使用这种方式。根据Wakanda的。在try catch中调用save()时,可以捕获验证错误。正如@AJT_82所说,您还可以捕获错误并将其抛出到分配给错误响应的变量。@U.Friedrich我来自Wakanda团队。如果我理解得很好,在客户端您会收到一个通用错误500内部服务器错误,而不是“值太长”。我们正试图重现这个问题。如果它是可复制的,我将在上创建一个问题:这很有效,非常感谢。我总是看到默认消息,然后我没有深入讨论下面是否包含来自服务器的错误消息。