2012-04-04 85 views
0

我想迭代一个对象的验证器。验证器必须在声明标签中声明。如何通过声明滚动?如果不能,那么除了滚动浏览对象的所有属性之外,是否还有更好的定位所有验证器?如何使用actionscript访问对象的声明?

+1

我不明白的问题... – Marty 2012-04-04 04:56:43

回答

2

只需将验证器放入集合(例如数组)中即可。之后,您可以简单地遍历集合的项目。

<fx:Declarations> 
    <fx:Array id="validators"> 
     <mx:StringValidator source="{firstnameInput}" property="text" required="true" /> 
     <mx:StringValidator source="{lastnameInput}" property="text" required="true" /> 
     <mx:EmailValidator source="{emailInput}" property="text" required="true" /> 
     <mx:DateValidator source="{dateInput}" property="text" required="false" /> 
    </fx:Array> 
</fx:Declarations> 

然后,您可以简单地使用 'validateAll()':

Validator.validateAll(validators); 

或环比校验:

for each (var validator:Validator in validators) { ... } 
1

我不确定我是否正确理解您的问题,但是如果您想遍历某个类的所有属性(包括元标记),则可以使用describeType

要包含元标记,请确保您已正确设置适当的编译器选项keep-as3-metadata