1

我正在使用 springframework 验证器来验证我的应用程序。目前我将我的字段名作为硬编码字符串传递给验证器。这引起了很多问题,如果模型中的字段名发生更改,验证将失败。

我已经研究了反射以使用 getDeclaredField 从模型中获取文件名。但是,此方法返回该类的文件列表,如果我需要获取特定字段,则必须传递正确的索引。例如。fields[8].getName(). 因此,如果字段的位置发生变化,我会遇到问题。

我想知道是否有任何其他更简单的方法可以将特定字段名传递给 rejectValue ?自定义注释会起作用吗?喜欢

@firstName private String firstName;

然后使用 getDeclaredAnnotations 来获取我的字段名?

这就是我现在的做法。

private String           firstName;
private String            lastName;

errors.rejectValue("lastName ", ValidationConstants.INVALID_NULL_OR_BLANK_CODE);

如果我使用反射

errors.rejectValue(fields[2].getName(), ValidationConstants.INVALID_NULL_OR_BLANK_CODE);
4

0 回答 0