我已将Xwork从2.0.4升级到2.0.6(struts版本为2.0.11.1)。字段验证工作正常,但错误的键不是。例如,我有一个名为profile.name.firstName的必填字段。字段错误键现在以profile.profile.name.firstName形式出现。当错误来自Xwork验证时,点符号中的第一个值总是重复。
有什么可能导致这种情况的想法?
答案 0 :(得分:0)
类 VisitorFieldValidator 的 getFullFieldName 方法正文发生了变化:
diff -rNau xwork-2.0.4-sources/ xwork-2.0.6-sources/
输出:
public String getFullFieldName(String fieldName) {
+ if (parent instanceof AppendingValidatorContext) {
+ return parent.getFullFieldName("") + field + "." + fieldName;
+ }
return field + "." + fieldName;
}
还尝试调查兼容性test results。在2.0.4和2.0.6(几种已删除的方法)之间的API似乎有很多危险的变化。开发人员不遵循版本控制约定,我认为行为可能会定期更改。即使是没有破损的次要版本也无法更新。