gpt4 book ai didi

java - 有关验证的问题

转载 作者:行者123 更新时间:2023-12-02 04:34:36 25 4
gpt4 key购买 nike

我认为这可能在其他地方得到回答,但在其他帖子的上下文中迷失了方向。所以,决定在这里重申一下。如果有人知道这个问题已经在其他地方得到回答,请指出我的方向。那么,我的问题。

  1. 我看到了 JSR-303、JSR-349 和 Hibernate Validator。有什么不同?
  2. 在我看来,Hibernate Validator 是 JSR-303 规范的引用实现,这是真的吗?
  3. 那么 349 是什么?
  4. 如果 Hibernate Validator 是规范的引用 impl,那么规范中是否还有其他 impl?
  5. 现在我正在寻找的一些细节。我已经阅读了一些有关 JSR-303 的内容,并且大致了解注释的工作原理。我的问题是我可以动态更改约束值吗?以下面为例:

    public class Foo {
    @Min(value = 18, message = "Age must be greater than or equal to 18")
    @Max(value = 150, message = "Age must be less than or equal to 150")
    int fooAge;
    }

那么,有没有一种方法可以使用规范在运行时满足年龄限制。因此,假设由于某种原因,在一种情况下,我需要最小值为 20,最大值为 100。在另一种情况下,我需要 10 和 50,等等。

预先感谢您帮助我解决这个问题。

最佳答案

  1. 303 是 Bean Validation 1.0 的 JSR。 349 是 Bean Validation 1.1 的 JSR。

  2. 该项目的主页上写着:“Hibernate Validator 5.x 是 Bean Validation 1.1 的引用实现!”

  3. JSR 定义了规范。 Hibernate validator 是本规范的引用实现。

  4. 似乎不是:http://beanvalidation.org/1.1/certified/

  5. 是的,您可以通过将约束分配给验证组来实现这一点,并根据用例激活一个或另一个组。请参阅http://beanvalidation.org/1.0/spec/#validationapi-validatorapi-groups

关于java - 有关验证的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31008929/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com