【问题标题】:Spring Boot validation with Hibernate Validator使用 Hibernate Validator 进行 Spring Boot 验证
【发布时间】:2016-02-22 19:46:19
【问题描述】:

有人知道是否可以在我的实体中创建一个方法,以便在我将注释 @Valid 放入我的类中时执行?

例子:

我有这个对象:

public class Area {
    @NotEmpty
    private String unidade;
    @NotNull
    private double tamanho;

    public String getUnidade() {
        return unidade;
    }

    public void setUnidade(String unidade) {
        this.unidade = unidade;
    }

    public double getTamanho() {
        return tamanho;
    }

    public void setTamanho(double tamanho) {
        this.tamanho = tamanho;
    }
}

我有这个方法:

@RestController
@RequestMapping("/recolhimento")
public class RecolhimentoController {

    @RequestMapping(method = RequestMethod.GET)
    public boolean getRecolhimento(@Valid Area area){
        ...
    }
}

所以当我调用此方法时,Spring Boot 将验证我的模型区域(但我想创建一个在我使用 @Valid 时将执行的方法。

有可能吗?怎么样?

【问题讨论】:

  • 您的问题到底是什么?您想知道如何使用@Valid,或者您想以编程方式确定对象是否有效?
  • 我知道@Valid 的工作原理。我想知道如何在我的模型中创建一种方法,当我在我的方法中添加一个“有效”时将执行该方法:D
  • 让我们退后一步,实际上,就功能而言,您想要实现什么?知道这将有助于提供有意义的答案。只是将@Valid 放在某处不会导致任何方法被执行。恰恰相反:当在 CDI 或 Spring bean 等托管对象上调用带有 @Valid 的方法时,这将触发对带注释的参数或返回值的验证。

标签: validation spring-boot hibernate-validator


【解决方案1】:

是的,有可能。

您可以在此项目中找到示例:https://github.com/malkusch/validation

【讨论】:

猜你喜欢
  • 2017-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-05
  • 2010-12-30
  • 2020-09-25
  • 1970-01-01
相关资源
最近更新 更多