javascript - Loopback validateUpsert 设置为 false 不起作用,仍然运行验证

标签 javascript node.js validation loopbackjs loopback

我有一个像这样的环回模型:

{
  "name": "MyModel",
  "plural": "MyModels",
  "base": "User",
  "idInjection": false,
  "options": {
    "validateUpsert": false
  },
...
}

当使用CREATEPOST时,它运行良好,运行所有验证等,这当然是应该的。但是,如果我使用 PATCH/MyModels/{id},仅传递 JSON 数据中的一个属性(因为我只想更新该特定属性值),我希望它不会对我未传递的属性运行验证。

因为它在这里说: https://loopback.io/doc/en/lb3/Model-definition-JSON-file.html#advanced-options 如果您将 validateUpsert 设置为 false,upsert 将不会运行验证。

这里说: https://loopback.io/doc/en/lb3/Controlling-data-access.html#comprehensive-accesstype-property-and-end-point PATCH/MyModels/{id} 对应于 updateAttributesPATCH/MyModels 对应于 upsert

所以我希望它不会对我未在 PATCH 方法中传递的属性运行验证。但仍然如此。它甚至仍然进行存在验证。

如何使用 PATCH 使 loopback 简单地忽略(不验证和不更新)我未传递的属性?

我目前正在使用loopback ^3.0.0

谢谢! :)

最佳答案

您可以使用 put 方法并仅传递要更新的字段:

例如/MyModels/{id}

这里 id 是行的唯一标识符,并像这样传递正文:

{ "name": "新名称" }

在这种情况下,仅会验证和更新名称值。其他字段保持不变。

关于javascript - Loopback validateUpsert 设置为 false 不起作用,仍然运行验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52889919/

相关文章:

node.js - Node-webkit 的跨平台 html 到 pdf 库

NHibernate 验证器还是 Fluent 验证器?

php - Laravel:如何验证变量是数组还是匹配正则表达式的字符串

javascript - angularJS 中的客户端重复数据验证

javascript [对象 HTMLParagraphElement] 问题

Javascript:创建 'weird' 条件重定向

javascript - 在 Node js 中读取 PDF 文件

javascript - node.js 和 express : how to wait for udp response

javascript - 找到奇数和偶数div并放入包含div中

javascript - 如何使用javascript或jquery快速创建表