gpt4 book ai didi

spring - 如何防止更新时的 Spring 验证

转载 作者:行者123 更新时间:2023-12-01 04:56:39 25 4
gpt4 key购买 nike

我为唯一的电子邮件做了一个自定义验证注释(当用户自己注册时,程序会检查电子邮件是否已经在数据库中)。

一切正常,但是当我需要修改用户信息而不是创建新信息时,我遇到了“电子邮件已在使用中”的问题

我可以以某种方式仅关闭 @UniqueEmail验证(我需要其他的,比如电子邮件模式和密码验证)?

所有验证注释都在同一个 User bean 中。

谢谢你。

最佳答案

我将假设您正在使用 javax.validation .

首先你需要一个 interface OnUpdate :

javax.validation.groups.Default

public interface OnUpdate extends Default {}

现在需要设置所有需要的注解 只有运行于 UPDATE :
@NotNull(groups = OnUpdate.class)

现在,您已将验证分为两组,分别位于 OnUpdate 中。以及 Default 中的那些.运行 Default将包括 OnUpdate 中的那些如 OnUpdate扩展 Default .

现在,这是有点棘手的地方 - 您需要告诉框架在每个任务上运行哪些验证。

如果使用 JPA,您只需要设置以下属性:
javax.persistence.validation.group.pre-update = com.my.package.OnUpdate

关于spring - 如何防止更新时的 Spring 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36567917/

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