如何强制Flex的验证显示的容器时,
-
20-09-2019 - |
题
我有在viewstack的视图一个Flex 3的应用程序,并在请求时必须只创建的图。我已经宣布为每个视图上的控制的验证器和我已经创建了一个称为checkAllValid()方法,该方法运行Validator.validateAll()。当我实际使用的控件(使用变更或focusOut事件)这个伟大的工程,但我怎么能得到checkAllValid()视图时先显示给用户运行,让他们立即显示的是一次无效的数据在控制填充?
我试图把在各种事件呼叫上视图本身(例如creationComplete,updateComplete,显示,激活等),但它总是显示以下错误,当我启动应用程序:
'指定的属性的属性时,该源属性必须被指定。'
我也曾尝试设置的以“所有”,但是这并不能帮助把creationPolicy。
一些验证时的形式是在一定的状态下才会启用,但我已经消除了为通过注释掉所有我的验证的除了潜在的问题,这个最简单的一个:
<mx:Array id="validators"><mx:StringValidator id="val_Address1" source="{Address1}" property="text" required="true" triggerEvent=""/></mx:Array>
在checkAllValid()方法很简单,只要如下:
private function checkAllValid():void{
var validationErrors: Array = Validator.validateAll(validators);
}
我还试图调用单个验证,而不是直接使用validateAll,结果是一样的。
请帮忙!必须有一种方法可以强制视图时,它被示出为验证....
(顺便它在凯恩戈姆MVC框架和我有绑定到控制数据)
解决方案
明白了!我加入了类似的验证另一种观点认为,他们工作得很好。是什么区别?调用checkAllValid所述的方法()中的溶液被称为上的内部容器的creationComplete事件 - 不是主要的视图分量。
那么,到底是什么做的验证本身 - 只是我不能完全理解创建顺序。
我会离开的问题就在这里,以防万一有人遇到类似的问题与创建顺序。
不隶属于 StackOverflow