我正在开发一个具有相当多字段验证功能的应用程序。验证效果很好,我1000000%肯定验证消息弹出窗口早先出现。现在我做了很多工作和重构。我改变的一件事是我打开Popups / Dialog的方式。为了让这些以整个应用程序为中心而不是开放组件,我重构了我打开对话框的方式。我使用Alert的来源作为基础,但是因为我遇到其他问题(Focus Manager等)而扩展了它(我只是提到这一点,因为我假设我丢失的弹出窗口与此相关)。
以下是负责在我的应用程序中打开弹出窗口的代码:
public function show(realParent:Sprite,
displayParent:Sprite = null,
closeHandler:Function = null,
moduleFactory:IFlexModuleFactory = null):Dialog {
// Get the parent ...
// If none is set, use the top-level-application.
if (!displayParent) {
var sm:ISystemManager = ISystemManager(FlexGlobals.topLevelApplication.systemManager);
// no types so no dependencies
var mp:Object = sm.getImplementation("mx.managers.IMarshallPlanSystemManager");
if (mp && mp.useSWFBridge())
displayParent = Sprite(sm.getSandboxRoot());
else
displayParent = Sprite(FlexGlobals.topLevelApplication);
}
// Register for close-events, making sure the pop-up is closed.
if (closeHandler != null) {
this.addEventListener(CloseEvent.CLOSE, closeHandler);
}
// Setting a module factory allows the correct embedded font to be found.
if (moduleFactory) {
this.moduleFactory = moduleFactory;
} else if (realParent is IFlexModule) {
this.moduleFactory = IFlexModule(realParent).moduleFactory;
} else {
if (realParent is IFlexModuleFactory) {
this.moduleFactory = IFlexModuleFactory(realParent);
} else {
this.moduleFactory = FlexGlobals.topLevelApplication.moduleFactory;
}
// also set document if parent isn't a UIComponent
if (!parent is UIComponent) {
this.document = FlexGlobals.topLevelApplication.document;
}
}
// Make the dialog center itself relative to the parent.
PopUpManager.addPopUp(this, displayParent, true);
PopUpManager.centerPopUp(this);
return this;
}
什么可能导致验证弹出窗口不再显示?我应该在哪里看?
克里斯
答案 0 :(得分:0)
好的......所以我再次把它弄清楚了。尽管如此,我仍然可以把头撞到墙上,花了很长时间才找到它。
如果我使用Spart表单,FormItems和Forms本身可以定义错误文本区域以输出错误消息。因此,只要FormItem带有id为“errorTextDisplay”的外观部件,就会出现错误消息。我现在期待如果没有这样的部分,旧的通知将被使用......不。
在使用FormItem的代码和它的皮肤大约2-3个小时后,我注意到“contentGroup”通过将showErrorTip设置为false显式定义了一个属性来抑制错误工具类型。只需从皮肤中删除“errorTextDisplay”并将showErrorTip更改为true,就可以很好地显示我的弹出窗口: - )
希望这篇文章可以帮助有同样问题的人。