Ключи Field error меняются с обновлением Xwork до 2.0.6
Я обновил Xwork с 2.0.4 до 2.0.6 (версия Struts - 2.0.11.1). Проверка поля работает правильно, а ключи для ошибок - нет. Например, у меня есть обязательное поле с именем profile.name.firstName. Ключ ошибки поля теперь выглядит как profile.profile.name.firstName. Первое значение в точечной нотации всегда повторяется, когда ошибка приходит из проверки Xwork.
Есть идеи, что может быть причиной этого?
1 ответ
Существует изменение в теле метода getFullFieldName класса VisitorFieldValidator:
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;
}
Также попробуйте изучить результаты теста на совместимость. Похоже, что в API между 2.0.4 и 2.0.6 есть много опасных изменений (несколько удаленных методов). Разработчики не следуют соглашениям о версиях, и я полагаю, что поведение может регулярно меняться. Вы не можете обновить даже второстепенные версии без поломки.