2014-02-20 44 views
0

在我的應用程序中,我有兩個單選按鈕和複選框。這裏我想在移動到下一個控件時驗證CheckBox和RadioButton。flex4 - CheckBox和RadioButton驗證

編輯:

我的編碼是這裏

<fx:Declarations> 
    <s:RadioButtonGroup id="genderOption"/> 

    <mx:StringValidator 
     id="radioButtonValidator" 
     source="{genderOption}" 
     property="selectedValue" 
     trigger="{groupLevel}" 
     listener="{groupLevel}" 
     required="true" 
     requiredFieldError="field is required"/> 

    <mx:StringValidator 
     id="checkBoxValidation" 
     source="qualificationGroup" 
     required="true" 
     property="selectedValue" 
     listener="{qualificationGroup}" 
     requiredFieldError="field is required"/> 
</fx:Declarations> 
<s:layout> 
    <s:HorizontalLayout/> 
</s:layout> 

<mx:HDividedBox width="100%" height="100%"> 
    <s:Panel id="mainPanel" title="Employee Details" height="100%" width="50%"> 
     <s:Form id="mainForm" height="100%" width="100%" left="10%" right="10%" top="10%"> 
      <s:FormItem id="genderLabel" label="Gender" showErrorSkin="true" showErrorTip="false">    
       <s:HGroup id="groupLevel"> 
        <s:RadioButton group="{genderOption}" label="Male" id="male" selected="false"/> 
        <s:RadioButton group="{genderOption}" label="Female" id="female" selected="false"/> 
       </s:HGroup> 
      </s:FormItem> 
      <s:FormItem id="quaLabel" label="Qualification" showErrorSkin="true" showErrorTip="false"> 
       <s:HGroup id="qualificationGroup"> 
        <s:CheckBox id="bsc" label="B.Sc"/> 
        <s:CheckBox id="be" label="BE"/> 
        <s:CheckBox id="mca" label="MCA"/> 
        <s:CheckBox id="mba" label="MBA"/> 
        <s:CheckBox id="others" label="Others"/> 
       </s:HGroup> 
      </s:FormItem> 
     </s:Form> 
    </s:Panel> 
</mx:HDividedBox> 

而且我的柔性新的。如果我正在使用更改或單擊事件,它將通過警告框顯示錯誤消息。但我不想要警報框。有沒有其他的方式來顯示錯誤信息?

+0

您能提供更多信息嗎?如果你創建一個驗證函數並在複選框和單選按鈕發生變化時調用它(如果要更改事件) – simion314

+0

請參閱我的編輯並幫助我。謝謝 – user

+0

對不起,我沒有幫助,我沒有這方面的經驗與mx validators.2 – simion314

回答

0

當您移動到下一個控件添加和事件偵聽器來調用函數以執行驗證檢查時。

沒有更多的信息我不能說哪個事件監聽器將適用,但它很可能是一個點擊事件。

<Script> 
<![CDATA[ 
    protected function validate_HDivide(event:MouseEvent):void 
    { 
     if(mycheckboxes.validate()) 
     { 
      //do things 
     } 
     else 
     { 
      //display error 
     } 
    } 
<s:HDividedBox id="mycheckboxes" change="validate_HDivide(event)"/> 
<s:Button label="submit" click="validate_HDivide(event)"/> 

那麼你的HDividedBox中,你可以瓶坯您的驗證

那我怎麼會做,希望這幫助。

+0

我有按鈕組。但是,對不起,我必須給改變事件?請參閱我的編輯代碼。 – user

+0

我已根據您的編輯代碼編輯了我的答案。對不起,它可能不是最好的答案,因爲我比較新的自我摺疊 – JamesT

+0

但是我想在從HBox更改控制時執行此操作。 – user