سؤال

لقد قمت بترقية Xwork من 2.0.4 إلى 2.0.6 (إصدار Struts هو 2.0.11.1). يعمل التحقق من صحة الحقل بشكل صحيح ، ولكن مفاتيح الأخطاء ليست كذلك. على سبيل المثال ، لدي حقل مطلوب يسمى profile.name.firstName. مفتاح خطأ الحقل هو الآن كملف تعريف. profile.name.firstName. يتم دائمًا تكرار القيمة الأولى في الترشيح النقطي عندما يأتي الخطأ من التحقق من صحة XWORK.

أي أفكار عما يمكن أن يسبب هذا؟

هل كانت مفيدة؟

المحلول

هناك تغيير في جسم 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 (عدة طرق تمت إزالتها). المطورين لا تتبع اتفاقيات الإصدار وأفترض أن السلوك قد يتغير بانتظام. لا يمكنك تحديث حتى الإصدارات البسيطة دون كسر.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top