Validate radio and checkbox buttons

In this tutorial you can learn how to check and validate radio, and checkbox buttons.
To verify if a radio, or checkbox button is checked, use the checked property.
If the button is checked, the JavaScript "checked" property returns true, otherwise returns false.

To check /validate checkbox button it's easy because each checkbox input must have an unique name.
Syntax:
if (form_name.checkbox_name.checked == false) alert('Checkbox button not checked');

It becomes a bit more complicated when it must check radio buttons, because multiple radio buttons has the same name, and JavaScript stores them into an array. So, the syntax:
form_name.radio_name
- Returns an array with all the radio buttons with name="radio_name" in the "form_name".
To validate the radio buttons, you must traverse that array, and check each element (each button), like in the code bellow.
var radio_buttons = form_name.radio_name;
var re = false;

// traverse the array with radio buttons, if one is checked, make "re" true and stops
for(var i=0; i<radio_buttons.length; i++) {
  if (radio_buttons[i] == true) {
     re = true;
  }
}

// if "re" false, means no one radio button checked
if(re == false) alert('Radio button not checked');

• Below it's a practical example with a form that contains two radio buttons and three checkboxes. The user must check an radio button (vegetables), and at least one checkbox (fruits), otherwise, when it submits the form, the function checkButons() alerts an error message, and returns False.
<h4>Check a vegetable, and at least one fruit</h4>
<form action="" method="post" name="f1" onsubmit="return checkButons(this);">
Vegetables: <input type="radio" name="vegetable" value="cabbage" />Cabbage
 <input type="radio" name="vegetable" value="carrot" />Carrot<br/>
Fruits:<br/>
 <input type="checkbox" name="fruit1" value="apple" />Apple<br/>
 <input type="checkbox" name="fruit2" value="pear" />Pear<br/>
 <input type="checkbox" name="fruit3" value="banana" />Banana<br/>
 <input type="submit" value="Submit" />
</form>
<script type="text/javascript"><!--
// checks buttons (radio, checkbox) - coursesweb.net
function checkButons(frm) {
var re = false;           // used to determine when a button is checked
var err = '';             // to store the errors

var vegetables = frm.vegetable;          // contains an array with all radio buttons "vegetable"

// create an Array in JSonn format with checkbox buttons
var fruits = [frm.fruit1, frm.fruit2, frm.fruit3];

// traverse the radio buttons
// if one is checked sets re to true, and stops the iteration with "break"
for(var i=0; i<vegetables.length; i++) {
  if(vegetables[i].checked == true) {
    re = true;
    break;
  }
}

// if "re" is false means no radio button checked, add error in "err" 
if(re == false) err += '- You must check at least one vegetable';

// make "re" again False, and traverse the checkbox buttons
// if one is checked sets re to true, and stops the iteration with "break"
re = false
for(var i=0; i<fruits.length; i++) {
  if(fruits[i].checked == true) {
    re = true;
    break;
  }
}

// if "re" is false means no checkbox button checked, add error in "err" 
if (re == false) err += '\n - You must check at least one fruit';

// if "err" not empty, alert the error(s) and returns False to stop submitting form
if(err != "") {
  alert(err);
  return false;
}
else return re;
}
--></script>
Demo:

Check a vegetable, and at least one fruit

Vegetables: Cabbage Carrot
Fruits:
Apple
Pear
Banana