AI OnAI Off
Hi,
Yes, this should be a bug a bug. Could you provide the steps so we can easily have a look and fix?
We discovered the error in our error logs and decompiled the dlls to find the issue. We have en-us, en-ca and fr-ca web sites. We have our en-ca sites falling back to en-us. For our forms and form elements, we have en-us and fr-ca version and have en-ca fallng back to en-ca. The key piece is to have some of the form elements marked as required. Access the form on an en-ca site, which would roll the form up to the en-us version. Submit the form and the error will show up in the error log.
We have been working through this issue with support for 7 days and are making no headway there so I wanted to bring this up in here in hopes that a dev would see it. We recently have upgraded from Forms 4.7 to Forms 4.10. We started running into errors in our error logs post upgrade. "Element '' not found or the Form has not been re-published after was changed." In digging into it we decovered that this is a localization issue. We have en-us, en-ca and fr-ca web sites. We have our en-ca sites falling back to en-us. For our forms and form elements, we have en-us and fr-ca version and have en-ca fallng back to en-ca. In decompiling the EPi code we discoverd the issue.
Upgrading
from
Assembly: EPiServer.Forms.UI, Version=4.7.0.0
namespace EPiServer.Forms.EditView.Internal.ValidationService
line 60
if (!instance.TryGet(new ContentReference(complexReference), out content))
{
ValidationService._logger.Error("Element '{0}' not found or the Form has not been re-published after was changed.", new object[1]
{
(object) complexReference
});
}
to
Assembly: EPiServer.Forms.UI, Version=4.10.0.0
namespace EPiServer.Forms.EditView.Internal.ValidationService
line 61
if (!instance.TryGet(new ContentReference(complexReference), Thread.CurrentThread.CurrentUICulture, out content))
{
ValidationService._logger.Error("Element '{0}' not found or the Form has not been re-published after was changed.", new object[1]
{
(object) complexReference
});
}
The issue is simply that the code was changed in the new version on the TryGet to use CurrentUICulture, which it should not be doing. It still needs to respect the fallback language. Hoping someone from EPiServer sees this and can dig into the ValidationService and confirm the issue.