【问题标题】:How to use JSR 380 bean validation annotations in a Java SE project如何在 Java SE 项目中使用 JSR 380 bean 验证注解
【发布时间】:2018-02-19 15:01:49
【问题描述】:

刚刚尝试使用 JSR 380 注释的 main 方法运行我的简单程序,但它不适合我。

这里是代码...

import javax.validation.constraints.Min;

public class MainClass {

    public static void main(String[] args) {

        Request request = new Request(5);
    }
}

class Request{

    public Request(int greaterThan10) {
        super();
        this.greaterThan10 = greaterThan10;
    }

    @Min(value = 10,message= "value should be greater than 10")
    private int greaterThan10;

    public int getOne2Ten() {
        return greaterThan10;
    }

    public void setOne2Ten(int greaterThan10) {
        this.greaterThan10 = greaterThan10;
    }

}

【问题讨论】:

  • 您能告诉我们“但它对我不起作用”的确切含义吗?
  • 您需要在Validator (docs.oracle.com/javaee/7/api/javax/validation/Validator.html) 上实际调用validate() 方法来触发验证。至于在 Java SE 中的用法,不确定,但你会发现这种方式。
  • @UwePlonus 我无法在控制台上看到任何输出。正如我所期待的消息“值应大于 10”
  • 不知道你们为什么在没有给我明确答案的情况下对我的问题感到沮丧......

标签: java bean-validation


【解决方案1】:

如果您的代码未在 Java EE 或 Spring 容器等托管环境中运行,您必须手动调用 Validator API。 IE。你的main() 方法中会有这样的东西:

Request request = new Request(5);
Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
Set<ConstraintViolation<Request>> violations = validator.validate(request);

【讨论】:

    猜你喜欢
    • 2018-10-02
    • 2019-02-20
    • 2015-01-11
    • 2019-08-02
    • 1970-01-01
    • 2015-01-10
    • 1970-01-01
    • 1970-01-01
    • 2012-05-12
    相关资源
    最近更新 更多