微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Hibernate 验证器触发偶数字段不违规

如何解决Hibernate 验证器触发偶数字段不违规

我想知道为什么当字段值不为空时,Hibernate Validator 会在 @NotNull 上触发。

考虑这个类:

public class Submission implements Model {
    private String imageUrl;
    @NotNull(message = "Image should be provided")
    private byte[] imageBytes;
    @NotNull(message = "Image hash must be provided")
    private String imageHash;
}

还有这个验证逻辑:

Submission submission = modelBinder.getModel();
Set<ConstraintViolation<Submission>> violations = validator.validate(submission);

if(violations.isEmpty()) {
} else {
    violations.forEach(violation -> {
        String field = violation.getPropertyPath().toString();
        Console.error("Message: " + violation.getMessage());
        Console.error("Path: " + field);
        if(field.equals("imageBytes") || field.equals("imageHash")){
            Console.log(submission.getimageHash());
            Console.log(submission.getimageBytes().length);
            errorMessage.setInnerText("Please upload a photo");
        }
    });
}

日志显示两个失败的字段都不为空。找到休眠验证的根本原因的最佳方法是什么?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。