问题标签 [javax.validation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
29434 浏览

java - 找不到约束“javax.validation.constraints.NotBlank”验证类型“java.lang.String”的验证器

我正在使用 Hibernate 验证器来验证我的 bean。

实际上我对我的 POM 有这个依赖

这是我的豆子

现在问题来了,当我尝试验证我的 bean 时,我收到了这个错误消息

找不到约束“javax.validation.constraints.NotBlank”验证类型“java.lang.String”的验证器。检查“nomcaac”的配置

我无法弄清楚我的问题是什么,我认为根据此页面我有正确的依赖关系。

0 投票
1 回答
1712 浏览

spring - @Valid 不适用于 spring bean 类中的嵌套对象

我有一个 Bean 类,它有一个嵌套对象,如下所示。

这是嵌套对象 bean 类。

我已经为 HistoryRequestDTO 实现了验证器,并且可以单独正常工作。但是当我使用 UserRequestDTO 时,HistoryRequestDTO 验证器不起作用。

我尝试为 UserRequestDTO 实现单独的验证器,但它仍然没有调用 HistoryRequestDTO 验证器。

0 投票
1 回答
389 浏览

java - DropWizard 非平凡配置验证

我有一个具有两个属性的 DropWizard 配置类。至少必须设置一个。这意味着,两者都是@Nullable,我需要对整个对象进行验证。

这个配置类是整个应用程序配置的一个属性。

我为此设置了一个javax.validation

但是对象的验证不会发生。只有它的个别领域。

我发现的唯一相关的 DropWizard 测试第二个也只处理字段。
DW 文档并没有过多地谈论配置验证

如何让 DropWizard 验证整个对象?

0 投票
1 回答
15317 浏览

java - Spring boot:创建名称为“methodValidationPostProcessor”的bean时出错

我有一个spring boot应用程序,我正在创建war文件并在Tomcat 8上部署。代码在我的Eclipse Oxygen中运行时运行良好,并且在Tomcat8上运行应用程序时出现异常。

下面是我的 pom.xml

下面是我的 MyApp.java

下面是我的 Config.java

下面是我的 AuthorizationServiceImpl.java

谁能告诉我为什么在运行我的 Tomcat 时出现此错误。

0 投票
1 回答
2879 浏览

java - 验证约束,DTO 中的可选字段?

我有一个 DTO,其中包含几个字段、用户名、密码和电子邮件,它们都是字符串。

我还有一个我想要作为可选的列表,这意味着它不必从表单中传递,并且可以留空。

这应该从前端有效:

所以应该这样:

javax.validation.constraints 中是否有任何@OptionalField 注释或类似的注释?

还是我唯一的选择是两个单独的 DTO?

0 投票
1 回答
947 浏览

java - Spring Boot 自定义约束验证组件

配置类

注释类

验证器类

我有一个带有 property 的类@UniqueLogin String login,我还使用了其他注释,例如@Sizeand @Max,最后 2 个有效,但我的自定义注释不起作用。

您能否帮助理解为什么 spring 不调用自定义验证器?

0 投票
1 回答
5196 浏览

java - 使用 javax.validation 验证日期不能小于 1900-01-01

我有一个类作为我的 api 的请求有效负载。我需要验证我的字段“dateOfBirth”之一。使用 javax.validation.past 我正在检查日期不是未来日期,但我还想验证日期不得小于 1900-01-01 。

有什么方法可以使用 javax.validation api 吗?

0 投票
2 回答
417 浏览

java - 无法在 Java 验证中读取插值

在我的 Spring MVC 应用程序@Validated中,我使用 JSR-303 在我的控制器中使用对象。在我的 Spring 应用程序上下文中,我定义了一个自定义 MessageSource,以从 resources/messages.properties 文件中读取消息。

我能够读取和覆盖 javax.validation 默认消息(例如 NotNull),但如果我尝试使用消息插值来读取参数(例如:min 或 max from @Size(max=...).

请注意,如果我直接在模型中设置消息,它会正确显示“内插”消息(默认消息也可以正常工作)。

型号类:

消息属性:

0 投票
1 回答
2698 浏览

java - 如何在 java.validation 约束上使用 Spring RestController?

我怎样才能在约束上设置弹簧@RestController属性?javax.validation

我以为我可以添加/src/main/resources/messages.propertiesand messages_de.properties,然后spring检测它们并启用正确的 i18n?但情况似乎并非如此:

问题:如果我现在发送POST请求:

问题1:我真的必须告诉spring显式应用i18n吗?或者我可以以某种方式依赖自动检测功能吗?

下一步是添加以下配置。现在默认消息已正确解析。但是,每当我想要验证 i18n 时,是否有必要真正添加它?

问题 2:我需要这些 bean:我现在如何发送帖子请求以切换语言?我尝试添加 get-query 参数?local=de, locale=de, ?lang=de, language=de,但它们都不起作用......

0 投票
1 回答
336 浏览

java - “组合”两个端点时 javax 验证注释重用的模式

我有一个包含两个实体FooBar一对多关系的 API,即每个实体都Bar必须引用一个Foo.

我有端点来创建两者Foo,并且Bar- 这些端点具有使用 javax 验证定义的各自的 DTO。

现在,我想要一个新的端点,它创建一个Bar and Foo并将它们链接在一起,而不是先创建一个Foo然后创建Bar传递的fooId. 我将需要所有相同的字段,具有相同的验证,但CreateBarDto.fooId需要除外。理想情况下,我想重用我已经定义的 javax 验证,而不是重复它们。

我想将现有的 DTO 嵌套在新端点的组合 DTO 中,但是这样做有问题@NotNull-CreateBarDto.fooId实际上不需要。到目前为止,我想出的最佳解决方案是:

虽然这行得通,但它真的很笨重。只是想知道是否有人可以建议一个更好的模式来重用这样的 javax 验证,或者是否有任何我不知道的 javax 注释可能有助于解决这个问题?