表单验证也适用于safari浏览器

I had a code written in my files to validate a login form that works for most browsers including safari but suddenly one week ago it stopped working for checkboxes. If i submit the form without choosing a service then it submits which shouldn't happen. Here is my code below, it would be great if anyone could point out why it stopped working. Thanks in advance!

<form method="post" action="includes/blah.php" name="GuestForm" id="GuestForm" autocomplete="off" onsubmit="return validate();">

     <input name="services[]" type="checkbox" value="blah"> blah<br>

      <input name="services[]" type="checkbox" value="blah2"> blah2<br>


      <input name="services[]" type="checkbox" value="blah3"> blah3<br>

<input type="submit" class="submit" id="submit" value="Submit"><input type="reset" value="Reset"><br>
</form>


<script>

     function validate(){

        if(!document.getElementById('services[]').checked){
            alert('Please choose a service');
            return false;
        }

     return true;
  }
  </script>
<script>
    function validate(){
        var services =  document.getElementsByName('services[]');
        for(k=0; k < services.length; k++) {
            if (services[k].checked) return true;
        }
        alert('Please choose a service');
        return false;
    }
</script>

edit for exact answer:

<script>
    function validate(){

        var services = document.getElementsByName('services[]');
        var services_length = services.length;
        if (services_length) {
            var unchecked = true;
            for(k=0; k < services_length; k++) {
                if (services[k].checked) {
                    unchecked = false;
                    break;
                }
            }
            if (unchecked) {
                alert('Please choose a service');
                return false;
            }
        }

        return true;
    }
</script>