我正在使用 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);