当前位置: 首页 > 知识库问答 >
问题:

SpringBootTestjavax。验证。验证异常

廉宇
2023-03-14

我正在测试带注释的javax验证。它们在应用程序中工作良好,方法参数上有@Valid注释。但是当我试图通过手动构建验证工厂来测试它们时

Validation.buildDefaultValidatorFactory()

我得到以下错误。

javax。验证。ValidationException:HV000183:无法初始化“javax”。艾尔。“表达工厂”。检查类路径上是否有EL依赖项,或者改用ParameterMessageInterpolator

收到这个错误后,我在gradle文件中添加了编译“org.glassfish:javax.el:3.0.0”,它开始工作。为什么,验证在应用程序中工作,而不需要org。玻璃鱼:爪哇。el但在手动构建验证工厂时需要?

共有1个答案

花欣然
2023-03-14

Hibernate Validator需要一个统一表达式语言的实现来评估约束冲突消息中的动态表达式。

当应用程序在JavaEE容器中运行时,容器已经提供了EL实现,这就是为什么不需要添加额外的依赖项。

 类似资料:
  • 我正在测试一个具有预期异常的方法。我还需要验证在抛出异常后是否调用了一些清理代码(在模拟对象上),但看起来该验证被忽略了。这是代码。我正在使用 Junit 来验证预期的异常。 似乎完全被忽略了。无论我在中使用什么方法,我的测试都通过了,这不是我想要的。 你知道为什么会发生这种情况吗?

  • 在测试中,我使用的是mockobject: 我试图验证其方法的使用: 但它抛出以下异常: 组织。莫基托。例外情况。滥用。UnfinishedVerificationException:此处缺少验证(模拟)的方法调用: 这一行的例外点是: setMaxRows接受一个int。 当我注释掉这一行时,测试成功了。调试程序时,我可以看到正在设置的setMaxRows方法: BrandLabels是一个Li

  • 接口说明 验证验证码 如需调用,请访问 开发者文档 来查看详细的接口使用说明 该接口仅开放给已获取SDK的开发者 如开启https功能,请求地址的协议应改为https,如:https://www.example.com/wish3dearth/api/access/v1.0.0/getLicenseInfo API地址 GET /authcenter/api/verify/v1.0.0/check

  • 在dynamodb表上运行batchGetItem函数时获取ValidationException。我在密钥列表下同时提供哈希密钥和范围密钥。以下是请求和响应。 请求: 答复:

  • 向addUser控制器提交表单时发生异常 获取窗体的控制器 为什么会出现此异常,输入无效电子邮件而不是验证必须执行。

  • 我需要应用一个双值验证,这需要与圆周率匹配。我正在考虑使用@pattern(regex=“3.14159265359”)。这是使用Hibernate验证约束应用这样一个约束的最佳方式吗?谢谢