2017-07-18 45 views
0

我做了三個單選按鈕rd1,rd2和rd3。當用戶點擊rd1時,它會顯示一些按鈕,我們必須從中選擇任何人。三個單選按鈕中的相同參數。現在我想對單選按鈕進行驗證。當頁面加載沒有收音機被選擇時,當用戶想要轉到下一頁時,它應該首先選擇任何單選按鈕和一個選項。我已經嘗試了一些代碼,但沒有正常工作。當我點擊下一個按鈕時,它會顯示提示輸入屬性類型。但是,當我選擇任何單選按鈕和選項時,它也會在選擇後再次顯示相同的警報,並且我無法移動到下一頁。我的代碼是,驗證單選按鈕選擇或不在IOS

else if ([rd1 isSelected]==NO || [rd2 isSelected]==NO || [rd3 isSelected]==NO){ 

    if ([rd1 isSelected]==NO || [rd2 isSelected]==NO || [rd3 isSelected]==NO) { 
     NSString *message = @"Property Type"; 

     UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Select Property Type" 
                     message:message 
                   preferredStyle:UIAlertControllerStyleAlert]; 

     [self presentViewController:alert animated:YES completion:nil]; 

     int duration = 1; // duration in seconds 

     dispatch_after(dispatch_time(DISPATCH_TIME_NOW, duration * NSEC_PER_SEC), dispatch_get_main_queue(), ^{ 
      [alert dismissViewControllerAnimated:YES completion:nil]; 
     }); 

    } 
    else{ 
     if ([rd1 isSelected]==YES || [rd2 isSelected]==YES || [rd3 isSelected]==YES){ 


      [rd1.titleLabel.text isEqualToString:@"Homes"]; 
      [rd2.titleLabel.text isEqualToString:@"Button"]; 
      [rd3.titleLabel.text isEqualToString:@"Button"]; 
     } 

    } 

    } 

回答

1

您的情況有問題。如果你想檢查是否至少有一個按鈕,應該點擊來,那麼你需要把& &條件:

if(rd1.selected == false && rd2.selected == false && rd3.selected == false) 
    { 
     // You need to show alert because none of the radio buttons is selected. 
     // Show your alert 
    } 
    else 
    { 
     // One of them is selected... 

    } 

條件釋:

& &:每一個你已經寫了必須條件需要滿足。如果是這樣,那麼它會給你真,否則爲假。

|| :如果任何條件滿足,那麼它會給你真。

0

把你else條件之後第二個從最後花括號

else if ([rd1 isSelected]==NO || [rd2 isSelected]==NO || [rd3 isSelected]==NO){ 

    if ([rd1 isSelected]==NO || [rd2 isSelected]==NO || [rd3 isSelected]==NO) { 
     NSString *message = @"Property Type"; 

     UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Select Property Type" 
                     message:message 
                   preferredStyle:UIAlertControllerStyleAlert]; 

     [self presentViewController:alert animated:YES completion:nil]; 

     int duration = 1; // duration in seconds 

     dispatch_after(dispatch_time(DISPATCH_TIME_NOW, duration * NSEC_PER_SEC), dispatch_get_main_queue(), ^{ 
      [alert dismissViewControllerAnimated:YES completion:nil]; 
     }); 

    } 


    }else{ 
     if ([rd1 isSelected]==YES || [rd2 isSelected]==YES || [rd3 isSelected]==YES){ 


      [rd1.titleLabel.text isEqualToString:@"Homes"]; 
      [rd2.titleLabel.text isEqualToString:@"Button"]; 
      [rd3.titleLabel.text isEqualToString:@"Button"]; 
     } 

    }