我正在使用springframework验证程序来验证我的应用程序。目前我将我的fieldname作为硬编码字符串传递给验证器。这导致了很多问题,如果模型中的字段名更改,验证将失败。
我已经研究了使用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);