I am trying to make a custom validation for my form. We won't know in future how many boltons we are going to add / remove from our form.
It should check if radio buttons are not checked add "error class" to section.
The problem is any radio button I click just effect the last section.
function checkBoltons(){
    var boltons = [1,2,3];
    for (var i of boltons) {
    
  
   var $bolton = $('#bolton-' + i);
   
   if ( $('input[name="data[ObeBolton]['+i+']"]').is(':checked') == true ) {
    
    $bolton.removeClass('section-error');
    
   } else {
    $bolton.addClass('section-error');
    
   }
   
   $('input[name="data[ObeBolton]['+i+']"]:radio').change(function(){
    $('#bolton-' + i).removeClass('section-error');
   });
    }  
}
$(".checkBoltons").click(function(){
    checkBoltons();
}).section-error {
 background-color: rgb(255, 218, 218);
 border: 1px solid red;
}<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="bolton-1">
    <p>bolton-1</p>
    <input type="radio" name="data[ObeBolton][1]" value="1" />
    <input type="radio" name="data[ObeBolton][1]" value="2" /> 
</div>
<div id="bolton-2">
    <p>bolton-2</p>
    <input type="radio" name="data[ObeBolton][2]" value="3" />
    <input type="radio" name="data[ObeBolton][2]" value="4" /> 
</div>
<div id="bolton-3">
    <p>bolton-3</p>
    <input type="radio" name="data[ObeBolton][3]" value="5" />
    <input type="radio" name="data[ObeBolton][3]" value="6" /> 
</div>
<button class="checkBoltons">Check Boltons</button> 
     
     
    