multiptipsvalidator.as
来自「用Flex实现的一个关于减肥系统的web界面,内部没有实际的业务逻辑,只是一个原」· AS 代码 · 共 59 行
AS
59 行
package sjd.validators
{
import mx.validators.Validator;
import mx.core.UIComponent;
import mx.validators.ValidationResult;
public class MultipTipsValidator extends Validator
{
public var allListeners:Array = [];
override protected function get actualListeners():Array{
super.doValidation(new Object());
var result:Array = [];
if (listener){
if(listener is Array){
var listenerArray:Array = listener as Array;
for(var i:Number = 0; i < listenerArray.length; i++){
result.push(listenerArray[i]);
}
}else{
result.push(listener);
}
}else if (source){
result.push(source);
}
return result;
}
protected function setListener(results:Array):void{
var actualListeners:Array = [];
if(allListeners != null && allListeners.length > 0){
for(var i:Number = 0; i < allListeners.length; i++){
//Reset components' errorString
(allListeners[i] as UIComponent).errorString = "";
for(var j:Number = 0; j < results.length; j++){
if(results[j] is MultipTipsValidationResult){
var result:MultipTipsValidationResult = results[j] as MultipTipsValidationResult;
if(allListeners[i].id == result.errorFieldId){
actualListeners.push(allListeners[i]);
//Update different Error String
(allListeners[i] as UIComponent).callLater(setErrorStr, [(allListeners[i] as UIComponent), result.errorMessage]);
}
}
}
}
}
if(actualListeners.length > 0){
this.listener = actualListeners;
}
}
protected function setErrorStr(comp:UIComponent, str:String):void{
comp.errorString = str;
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?