2009-07-03 12 views
0

複数のフィールドに対して簡単な検証を実行したい。これらのフィールドは表示される方法が標準ではないので、mx:Form内にはないことに注意してください。検証は正しく機能しますが、エラーメッセージでtextInputを強調表示しません。Flex 3 StringValidatorハイライトフィールド

myValidator.source = empName1; 
myValidator.property = "text"; 
if(myValidator.validate().type == ValidationResultEvent.VALID) 
{ 
Alert.show("good"); 
} 
... 
<mx:StringValidator id="myValidator" required="true" minLength="1" requiredFieldError="This field is required" /> 
<mx:TextInput x="152" y="32" width="207" id="empName1"/> 

私は、ソースとプロパティはActionScript 3のコードで設定されている理由である複数のフィールドに対して同じバリ「myValidator」を使用したいのでご注意ください。

おかげ

更新:作品私が作成した HERESに類似した機能:

if(!validateField([TicketTitle,TicketDesc])) 
{ 
Alert.show("Required fields were left blank!", "Warning"); 
return; 
} 

およびMXMLバリ

:そうのように呼ばれて

private function validateField(fields:Array):Boolean 
{ 
    var rtnResult:Boolean = true; 
    for each(var i:Object in fields) 
    { 
     myValidator.source = i; 
     myValidator.property = "text"; 

     i.validateNow(); 
     if(myValidator.validate().type == ValidationResultEvent.INVALID) 
      rtnResult = false; 
    } 
    return rtnResult; 
} 

<mx:StringValidator id="myValidator" required="true" minLength="1" requiredFieldError="This field is required" /> 

答えて

0

解決済み...私はこれを必要とした:

empName1.validateNow(); 
関連する問題