-2

是否有一些“最佳实践”将 Angular 反应式表单与服务器端验证集成?搜索,暂时只找到

https://www.puzzle.ch/de/blog/articles/2017/01/18/server-side-validations-with-angular-2

编辑

无法回答自己这个问题,被 Stackoverflow 的一些过分热心的用户关闭,但我建议查看 JHipster 生成的代码(用于 Angular/Spring 应用程序的 CRUD 代码生成器)对于具有客户端和服务器端的新实体的情况验证。

4

1 回答 1

1

首先,我将澄清为什么我们应该集成客户端和服务器端验证,主要有以下三个原因:

  • 客户端验证不需要任何异步调用来验证信息。用户体验更流畅。
  • 服务器端验证是出于安全原因的义务。
  • 服务器端可以添加业务表单验证(您输入新用户,在服务器中您可以检查此用户名是否尚未被占用)。

然后关于你的问题。在您的反应式表单上包含服务器端验证错误消息看起来是个好主意(尤其是上面的最后一个原因)。

为此,正如您的链接所建议的那样,您应该利用 HTTP 状态代码来帮助您对错误类型进行分类。然后你必须设计通用ErrorResponseBag的 . 例如(只是一个易于理解的示例),MangoPay API 具有以下错误报告模式:

{
    "resultCode" : 1234,
    "ResultMessage" : "some message",
    "MoreInformation" : "Optional extra information"
}

ResultCode : 是引用特定常量类型错误的数字。

然后很容易创建EasyErrorHandler谁拦截每个HttpErrorResponse并将其置于警报或任何地方。

StackBlitz 中的 HttpInterceptor 示例

芒果支付的来源

注意:如果您需要有关 HttpInterceptor 文件的更多信息,请随时问我

于 2018-06-17T06:45:46.633 回答