在ActionScript中验证PopUp中的字段

时间:2015-04-09 14:26:18

标签: actionscript-3 flex flex3 actionscript-2 flex4.5

我在CheckBox上打开了一个弹出窗口,我想验证checkBox中的字段。

public function validatePopUp():Boolean{
				trace("validatePopUp");
				validatorPopUp = new ArrayCollection();
				validatorPopUp.addItem(iecCode_validator);
				validatorPopUp.addItem(branchno_validator);
				trace("validatorPopUp.length"+validatorPopUp.length);
				var valid:Boolean = true;
				for each(var validator:Validator in validatorPopUp){
					var VRE:ValidationResultEvent = validator.validate();
					if(VRE.type != ValidationResultEvent.VALID){
						valid = false;
						trace("valid = false");
					}
				}
				trace("validtrue");
				return valid;
			}

在保存按钮之前单击我正在调用此功能。这适用于按钮点击和弹出窗口打开弹出窗口打开选择ComboBox值,但对于复选框我收到此错误。

  

ReferenceError:错误#1069:在spark.components.CheckBox上找不到属性selectedItem,并且没有默认值。       at mx.validators :: Validator / getValueFromSource()[E:\ dev \ 4.y \ frameworks \ projects \ framework \ src \ mx \ validators \ Validator.as:980]       在mx.validators :: Validator / validate()[E:\ dev \ 4.y \ frameworks \ projects \ framework \ src \ mx \ validators \ Validator.as:940]       at mx.validators :: Validator / triggerHandler()[E:\ dev \ 4.y \ frameworks \ projects \ framework \ src \ mx \ validators \ Validator.as:1167]       在flash.events::EventDispatcher/dispatchEventFunction()       at flash.events::EventDispatcher/dispatchEvent()       在mx.core :: UIComponent / dispatchEvent()

1 个答案:

答案 0 :(得分:0)

在创建其中一个验证程序时设置Validator.property =“selectedItem”。然后你试图让它验证一个CheckBox(它没有一个名为“selectedItem”的属性),所以它会抛出那个错误。

现在关于你要做什么......听起来像(从这句话“我想验证checkBox中的字段。”)你想知道检查了几个复选框中的哪一个。如果是这种情况,您应该使用RadioButtonGroup而不是CheckBoxes。如果这是一个愿望/要求,你甚至可以给它们上皮,使它们看起来像复选框。

但是,如果您要验证是否选中了复选框(必需),那么您可以在没有验证器的情况下直接检查它(checkbook.selected == true)