首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >访问ValidatorConstraint中的标头

访问ValidatorConstraint中的标头
EN

Stack Overflow用户
提问于 2020-06-15 19:15:19
回答 2查看 398关注 0票数 2

我正在尝试编写一个自定义的验证装饰器,它将禁止用户在单个类别/子类别中创建具有相同标题的条目。为了做到这一点,我将使用class-validator库,并像这样编写一个装饰器:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@ValidatorConstraint({ name: 'isUniqueEntryTitle', async: true })
@Injectable()
export class IsUniqueEntryTitle implements ValidatorConstraintInterface {
    constructor(
        private readonly userService: UserService,
    ) {}

    public async validate(val: any, args: ValidationArguments): Promise<boolean> {
        return true;
    }

    public defaultMessage(args: ValidationArguments): string {
        return `Entry with such title already exists in this folder`;
    }
}

这样做的问题是,我将不得不进行一个相当复杂的数据库查询,以检查数据库中是否已经存在具有这样一个标题的条目。其中一个参数,我需要知道的显然是一个用户id,用户id可以从user jwt令牌中检索到,但是我如何在这个类中访问它?这就是我现在遇到的问题。

EN

回答 2

Stack Overflow用户

发布于 2020-06-18 21:01:38

您可以尝试将验证器设置为请求范围可注入( Request scoped,link on documentation)。

这种方法允许您将请求实例注入到验证器,并通过它访问用户。

简而言之,它看起来就像

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import { REQUEST } from '@nestjs/core';

@ValidatorConstraint({ name: 'isUniqueEntryTitle', async: true })
@Injectable({ scope: Scope.REQUEST })
export class IsUniqueEntryTitle implements ValidatorConstraintInterface {
    constructor(
        private readonly userService: UserService,
        @Inject(REQUEST) private request: Request
    ) {}

    public async validate(val: any, args: ValidationArguments): Promise<boolean> {
        return true;
    }

    public defaultMessage(args: ValidationArguments): string {
        return `Entry with such title already exists in this folder`;
    }
}
票数 4
EN

Stack Overflow用户

发布于 2020-06-17 13:38:01

我不知道你到底想要什么。但是为了方便起见,您可以使用这个模块nestjs-dbvalidator来检查colmun是唯一的还是存在的

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62395333

复制
相关文章
C++ 中的随机标头系列1
开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第1天,点击查看活动详情
鲸落c
2022/11/28
1.3K0
C++ 中的随机标头系列1
通过 HTTP 标头的 XSS
在某些情况下,在应用程序的一个 HTTP 标头中传递的信息未正确清理,并在请求页面的某处或另一端输出,从而导致 XSS 情况。
Khan安全团队
2022/03/09
2.1K0
通过主机标头的 XSS
在 IE 中处理重定向时有一个有趣的错误,它可以将任意字符插入到 Host 标头中。假设您有以下 http 响应:
Khan安全团队
2022/01/11
1.6K0
常见的HTTP标头介绍
在网络爬虫的实践过程中会遇到诸多挑战,被屏蔽是最令人头疼的一个。幸好,有许多技术可以帮助您免受IP屏蔽带来的影响,这其中,HTTP标头(HTTP Headers)的使用和优化是最有效的方法之一,但它往往也是最被大家低估的方法之一。
用户7850017
2022/05/07
1.1K0
常见的HTTP标头介绍
设置和获取HTTP标头
%Net.HttpRequest的以下每个属性都包含具有相应名称的HTTP标头的值。如果不设置这些属性,则会自动计算它们:
用户7741497
2022/06/09
2.5K0
Log4Shell HTTP 标头注入
此模块需要 Metasploit:https://metasploit.com/download
Khan安全团队
2022/01/14
1.1K0
「HTTP标头」都给你整理好了
HTTP 1.1 的标头主要分为四种,通用标头、实体标头、请求标头、响应标头,现在我们来对这几种标头进行介绍
Java3y
2020/02/19
5.8K0
「HTTP标头」都给你整理好了
使用结构化的标头字段改善HTTP
原文 / https://www.fastly.com/blog/improve-http-structured-headers
LiveVideoStack
2020/08/04
6560
服务器未能识别 HTTP 标头 SOAPAction 的值
SOAPAction HTTP request header被用来标识SOAP HTTP请求的目的地,其值是个URI地址。SOAP发送并不限制格式、URI特征或其必须可解析,那么在这种情况下,发送一个HTTP SOAP请求时,其HTTP客户端必须使用/指明SOAPAction HTTP request header。 SOAPAction header的内容可以被用在服务端,诸如:防火墙适当的过滤基于HTTP的SOAP请求消息等场景。SOAPAction header的值为空串("")表示SOAP消息的目
张善友
2018/01/19
3K0
如何使用OpenCV在Python中访问IP摄像头
首先,必须找出网址流是什么。通过在构造函数中提供摄像机的网址流,可以在OpenCV中访问IP摄像机cv2.VideoCapture。可以使用某些网络扫描实用程序(例如在linux上的arp-scan)找到摄像机的IP地址。网址进一步的细节,如Protocol,Credentials和Channel应该可以在相机说明书或软件/手机应用程序中找到。我们通过在网络上搜索相机的型号来找到相机的网址流。
小白学视觉
2020/09/14
6.7K0
对 Google 说不 - 本站已启用屏蔽 FLoC 的 HTTP 标头
被广泛用于定向广告业务和用户数据收集的第三方 Cookie 即将迎来它的消失,而 Google 正试图设计一种方法让广告商在第三方 Cookie 消失后继续根据用户的浏览情况进行跟踪,即 FLoC。
Shiroka
2022/04/28
8670
解决办法:服务器未能识别 HTTP 标头 SOAPAction 的值
转自:http://www.cnsaturn.com/logs/2009/05/26/http-header-soapaction-value-cannot-recognized-by-server-errors 本文主要探讨跨平台调用Web Service出现:"服务器未能识别 HTTP 标头 SOAPAction 的值"的解决办法。
matinal
2020/11/27
5.4K0
解决办法:服务器未能识别 HTTP 标头 SOAPAction 的值
重复跨域头导致跨域访问失败
CORS,即 Cross-Origin Resource Sharing (跨源资源共享)。当一个资源从与该资源本身所在服务器不同的域、协议或端口发起请求时,就会触发跨域。比如,http://domain-a.com的 HTML 页面通过 <img> 的 src 请求http://domain-b.com/image.jpg,需要针对domain-b.com域名配置允许来自domain-a.com的访问。这是由于浏览器的同源策略造成,当然,这也是为了防止一些 XSS、CSRF 攻击。目前的许多 HTML 页面都会加载来自不同域下的 CSS 样式表,图像和脚本等资源。因此,解决跨域问题显得尤为重要。
mengmye
2021/03/04
6.1K0
如何使用JavaScript访问设备摄像头(前后)
在这篇文章中,我将向您展示如何通过 JavaScript 在网页上访问设备的摄像头,并支持多种浏览器,而无需外部库。
张张
2020/06/10
11.3K1
HTTP头信息中的参数Etag
服务器如果是集群,不同服务器返回的 Http Header 中的 Etag 参数不一样。如果是图片是程序生成的,我们可以用 no-cache 这些 header 来控制,但如果这些图片是 apache 或 nginx 等呢?
Java架构师必看
2021/03/22
2.1K0
php的file_get_contents函数访问URL显示响应头
作者:matrix 被围观: 5,529 次 发布时间:2014-10-01 分类:零零星星 | 6 条评论 »
HHTjim 部落格
2022/09/26
7660
访问列表中的值
#!/usr/bin/python list1 = ['physics', 'chemistry', 1997, 2000] list2 = [1, 2, 3, 4, 5, 6, 7 ] print "list1[0]: ", list1[0] print "list2[1:5]: ", list2[1:5]
用户8442333
2021/05/27
5.6K0
Selenium使用代理IP&无头模式访问网站
很多防爬机制会自动检测ip访问的频率,超过设定的次数,就会被封,这个时候就需要使用代理ip来解决这个问题了
py3study
2020/01/07
3.4K0
我又踩坑了!如何为HttpClient请求设置Content-Type标头?
平台显示 :签名校验失败, 排查到平台收到的Post Payload并非预期,阅读本文,解锁正确使用Content-Type标头的姿势。
有态度的马甲
2020/10/10
8.3K0
我又踩坑了!如何为HttpClient请求设置Content-Type标头?
YAML+PyYAML笔记 4 | YAML字符流、节点属性、块伸缩标头使用
虫无涯
2023/07/31
2160

相似问题

Frisby中的访问标头

23

标头访问-控制-允许-标头的值无效

12

如何访问标头

10

访问请求标头

47

webview标头访问

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文