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