我有在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事件 - 不是主要的视图分量。

那么,到底是什么做的验证本身 - 只是我不能完全理解创建顺序。

我会离开的问题就在这里,以防万一有人遇到类似的问题与创建顺序。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top