2010-03-17 3 views
1

iam nouveau à fléchir, quelqu'un peut-il dire, comment valider le bouton radio est sélectionné ou non flex 3comment valider le groupe de boutons radio? flex

si ma question est fausse, plz me suggérer quelque chose en ce qui concerne la validation du groupe radio

plz help me ...........

Répondre

4

utiliser simplement un StringVal idator:

 <mx:StringValidator id="myRadioButtonGroupValidator" 
     source="{myRadioButtonGroup}" 
     property="selectedValue" 
     required="true"/> 
0

Écoutez l'événement itemClick du RadioButtonGroup. Dans le gestionnaire, utilisez la propriété selection ou selectedValue pour savoir sur lequel RadioButton a été cliqué.

  • selection - renvoie une référence à l'sélectionné RadioButton instance
  • selectedValue - renvoie la propriété value du RadioButton sélectionné, si elle est définie. Sinon, renvoie le texte label.

Ces deux propriétés renvoient null si aucune RadioButton n'est sélectionnée.

Un exemple allant de livedocs

<?xml version="1.0"?> 
<!-- Simple example to demonstrate RadioButtonGroup control. --> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> 

    <mx:Script> 
     <![CDATA[ 

     import mx.controls.Alert; 
     import mx.events.ItemClickEvent; 

     // Event handler function to display the selected button 
     // in an Alert control. 
     private function handleCard(event:ItemClickEvent):void { 
      if (event.currentTarget.selectedValue == "AmEx") { 
        Alert.show("You selected American Express") 
      } 
      else { 
       if (event.currentTarget.selectedValue == "MC") { 
        Alert.show("You selected MasterCard") 
       } 
       else { 
        Alert.show("You selected Visa") 
       } 
      } 
     } 
     ]]> 
    </mx:Script> 

    <mx:Panel title="RadioButtonGroup Control Example" height="75%" width="75%" 
     paddingTop="10" paddingLeft="10"> 

     <mx:Label width="100%" color="blue" 
      text="Select a type of credit card."/> 

     <mx:RadioButtonGroup id="cardtype" itemClick="handleCard(event);"/> 
     <mx:RadioButton groupName="cardtype" id="americanExpress" value="AmEx" 
      label="American Express" width="150" /> 
     <mx:RadioButton groupName="cardtype" id="masterCard" value="MC" 
      label="MasterCard" width="150" /> 
     <mx:RadioButton groupName="cardtype" id="visa" value="Visa" 
      label="Visa" width="150" /> 

    </mx:Panel>   
</mx:Application> 
1

Ceci est la façon dont je résolu le problème. Si quelque chose ne va pas, laissez un commentaire.

<mx:NumberValidator id="radiogroupValidator" source="{radiogroup}" property="selectedValue" allowNegative="false" /> 

la radio source de groupe dans le fichier MXML

<mx:RadioButtonGroup id="radiogroup" itemClick="radiochangefunction(event)" selectedValue="-1" /> 

<mx:RadioButton id="radiobtn1" groupName="radiogroup" label="Send Password to existing EmailId" value="0"/> 
<mx:RadioButton id="radiobtn2" groupName="radiogroup" label="Enter new EmailId" value="1"/> 

La itemClick fonction

public function radiochangefunction(event):void 
{ 
    radiogroup.selectedValue=event.currentEvent.selectedValue.toString();  
} 

et enfin en fonction de validation

var isValidradiobutton:Boolean = (Validator.validateAll([radiogroupValidator]).length==0); 
1

Pour les groupes Spark et RadioButtons, les choses fonctionnent légèrement différemment. Voir l'exemple ci-dessous.

Remarque: Pour un HGroup comme le montre l'exemple: Le voyant d'avertissement apparaîtra pour les erreurs, mais aucune bordure de couleur rouge ne sera visible. Si vous définissez un RadioButton lui-même en tant qu'écouteur, vous pourriez obtenir un mauvais résultat et si vous définissez un FormItem comme cible, rien ne se passera.

<fx:Declarations> 

    <s:RadioButtonGroup id="myGroup" /> 

    <mx:StringValidator id="vLevel" 
         required="true" 
         source="{myGroup}" 
         property="selectedValue" 
         minLength="1" 
         maxLength="80" 
         listener="{grpLevel}" 
         /> 

</fx:Declarations> 


<s:FormItem label="Level"> 
       <s:HGroup id="grpLevel"> 
        <s:RadioButton group="{myGroup}" label="A"/> 
        <s:RadioButton group="{myGroup}" label="B"/> 
        <s:RadioButton group="{myGroup}" label="C"/> 
       </s:HGroup> 
</s:FormItem>       
Questions connexes