如何使用actionscript访问对象的声明?

时间:2012-04-04 04:51:38

标签: actionscript-3 flex

我想遍历一个对象的验证器。必须在声明标记中声明验证器。如何滚动声明?如果不能,除了滚动对象的所有属性之外,还有更好的定位所有验证器吗?

2 个答案:

答案 0 :(得分:2)

只需将Validators放入集合(例如Array)。之后,您可以简单地遍历集合的项目。

<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 :(得分:1)

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

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