gpt4 book ai didi

java - 良好实践 - Spring 验证 - 前端与后端

转载 作者:行者123 更新时间:2023-11-30 03:30:27 24 4
gpt4 key购买 nike

我正在使用 Bean 验证 (JSR-303) 开发 Spring Web 应用程序 (Spring MVC 4)。但有时我需要在前端(thymeleaf)上进行不同的验证,例如我需要构建一个注册表单来保存用户信息,为此,需要“emailConfirmation”、“passwordConfirmation”等字段。这种字段我不需要保存在我的数据库中,所以它们是@Transient,但也有@NotNull,因为我需要验证表单。

当我需要对此域执行其他操作并保存它时,Bean 验证会阻止我,因为它们是 @NotNull 或 @NotEmpty 字段。

我的问题是,在这种情况下我该怎么办?

我已经想到的:

  • 为此域进行自定义验证,并删除@NotNull,这些字段的 @NotEmpty 注释。
  • 创建不同的域只是为了在我的前端使用它,验证它后,将其复制到实体域。

谢谢,亚历山大。

最佳答案

第二个选项 - 创建一个不同的域只是为了在我的前端中使用它,验证它后,将其复制到实体域对我来说有好处。

最好将DTO(数据传输对象)和实体分开。在DTO中添加验证,检查发送的数据是否正确。永远不要相信客户端验证。这可能是黑客或客户端上的错误脚本或任何其他原因,您需要确保尝试在服务器上处理的数据是正确的。

关于java - 良好实践 - Spring 验证 - 前端与后端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29167506/

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