【发布时间】:2017-02-28 00:04:03
【问题描述】:
Spring Data REST docs 描述了在RepositoryEventHandler 被触发之后验证实体的方式:
您只需向 bean 的工作是在正确的事件
之后调用验证器
有没有办法在实体被传递到“beforeSave”RepositoryEventHandlers 之前应用[声明性] JSR-303 验证?
从我目前所看到的调试来看,情况并非如此,并且“beforeSave”RepositoryEventHandlers 在任何验证发生之前被触发。
我可以直接在处理程序中编写验证调用,但这与处理“之后”验证的方式不同。
顺便说一句。事件处理程序调用的顺序似乎在 Spring Boot 1.3.8 和 1.5.1 之间发生了变化。过去,验证发生在@HandleBeforeSave 处理程序之前。在 1.5.1 中,ValidatingRepositoryEventListener 在@HandleBeforeSave 处理程序之后触发。
更新:
正如 cmets 中所述,Spring Data REST Jira 中似乎有一个 ticket 对此是开放的。
【问题讨论】:
标签: spring validation spring-data-rest