Code always runs, even if the validation fails
<p>Register Page(some of it is in Hebrew, don't mind the names)</p>

<p>&nbsp;</p>

<pre><code>&lt;asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
    ErrorMessage="שם פרטי בעברית בין 2-10 תווים" ValidationExpression="[א-ת]{2,10}" ControlToValidate="FnameReg"&gt;&amp;nbsp;&lt;/asp:RegularExpressionValidator&gt;


&lt;!-- שם משפחה !--&gt;

&lt;asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server"
    ErrorMessage="הקלד שם משפחה" ControlToValidate="LnameReg"&gt;&amp;nbsp;&lt;/asp:RequiredFieldValidator&gt;

&lt;asp:RegularExpressionValidator ID="RegularExpressionValidator3" runat="server"
    ErrorMessage="שם משפחה בעברית בין 2-12 תווים" ValidationExpression="[א-ת-]{2,12}" ControlToValidate="LnameReg"&gt;&amp;nbsp;&lt;/asp:RegularExpressionValidator&gt;

&lt;!-- אימייל !--&gt;

&lt;asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server"
    ErrorMessage="הקלד אימייל" ControlToValidate="EmailReg"&gt;&amp;nbsp;&lt;/asp:RequiredFieldValidator&gt;

&lt;asp:RegularExpressionValidator ID="RegularExpressionValidatorADDANUMBERHERE" runat="server"
    ErrorMessage="אימייל לא תקין" ControlToValidate="EmailReg"
    ValidationExpression="\w+\@\w+\.com"&gt;&amp;nbsp;&lt;/asp:RegularExpressionValidator&gt;


&lt;!-- סיסמא !--&gt;
&lt;asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server"
    ErrorMessage="הקלד סיסמא" ControlToValidate="PassReg"&gt;&amp;nbsp;&lt;/asp:RequiredFieldValidator&gt;

&lt;asp:RegularExpressionValidator ID="RegularExpressionValidator2" runat="server"
    ErrorMessage="סיסמא בין 4-10 תווים בעברית ומספרים בלבד" ControlToValidate="PassReg"
    ValidationExpression="[0-9א-ת]{4,10}"&gt;&amp;nbsp;&lt;/asp:RegularExpressionValidator&gt;


&lt;!-- אימות סיסמא !--&gt;

&lt;asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server"
    ErrorMessage="הקלד אימות סיסמא" ControlToValidate="ValPassReg"&gt;&amp;nbsp;&lt;/asp:RequiredFieldValidator&gt;

&lt;asp:CompareValidator ID="CompareValidator1" runat="server"
    ErrorMessage="אימות סיסמא שגוי"
    ControlToCompare="PassReg" ControlToValidate="ValPassReg"&gt;&amp;nbsp;&lt;/asp:CompareValidator&gt;

&lt;!--  מגדר   !--&gt;
&lt;asp:RequiredFieldValidator ID="RequiredFieldValidator6" runat="server"
    ErrorMessage="בחר מגדר" ControlToValidate="GenderList"&gt;&amp;nbsp;&lt;/asp:RequiredFieldValidator&gt;

&lt;!--  תחביבים   !--&gt;
&lt;asp:CustomValidator ID="CustomValidator1" runat="server" ClientValidationFunction="CheckHobbies"
    ErrorMessage="בחר תחביבים"&gt;&amp;nbsp&lt;/asp:CustomValidator&gt;

    &lt;!--  מספר פלאפון   !--&gt;
&lt;asp:RequiredFieldValidator ID="RequiredFieldValidator8" ControlToValidate="CellPhoneReg" runat="server" 
    ErrorMessage="הכנס מספר פלאפון"&gt;&amp;nbsp&lt;/asp:RequiredFieldValidator&gt;

&lt;asp:RequiredFieldValidator ID="RequiredFieldValidator9" InitialValue="-1" ControlToValidate="PreCellPhoneReg" runat="server"
     ErrorMessage="בחר קידומת פלאפון"&gt;&amp;nbsp&lt;/asp:RequiredFieldValidator&gt;

&lt;asp:RegularExpressionValidator ID="RegularExpressionValidator5" ControlToValidate="CellPhoneReg"
     ValidationExpression="[0-9]{7}" runat="server" ErrorMessage="פלאפון לא תקין"&gt;&amp;nbsp&lt;/asp:RegularExpressionValidator&gt;

    &lt;!--  תאריך לידה   !--&gt;
&lt;asp:RequiredFieldValidator ID="RequiredFieldValidator11" ControlToValidate="BirthReg" runat="server" ErrorMessage="הכנס תאריך לידה"&gt;&amp;nbsp&lt;/asp:RequiredFieldValidator&gt;

&lt;asp:RegularExpressionValidator ID="RegularExpressionValidator7" ValidationExpression="\d+\/\d+\/\d+" runat="server" ControlToValidate="BirthReg" ErrorMessage="תאריך לידה לא תקין"&gt;&amp;nbsp&lt;/asp:RegularExpressionValidator&gt;

&lt;!--  עיר מגורים   !--&gt;
&lt;asp:RequiredFieldValidator ID="RequiredFieldValidator7" ControlToValidate="CityList" InitialValue="-1" runat="server" ErrorMessage="בחר עיר"&gt;&amp;nbsp&lt;/asp:RequiredFieldValidator&gt;

    &lt;!--  כתובת   !--&gt;

&lt;asp:RequiredFieldValidator ID="RequiredFieldValidator10" ControlToValidate="AdressReg" runat="server" ErrorMessage="הכנס כתובת"&gt;&amp;nbsp&lt;/asp:RequiredFieldValidator&gt;

&lt;asp:RegularExpressionValidator ID="RegularExpressionValidator6" ControlToValidate="AdressReg" runat="server" ValidationExpression="[א-ת0-9]{3,8}" ErrorMessage="כתובת בעברית ומספרים "&gt;&amp;nbsp&lt;/asp:RegularExpressionValidator&gt;
&lt;!--  הערות   !--&gt;

&lt;asp:RegularExpressionValidator ID="RegularExpressionValidator4" runat="server"
    ErrorMessage="הערות עד 70 תווים ובעברית" ControlToValidate="CommentReg" ValidationExpression="[0-9א-ת]{0,70}"&gt;&amp;nbsp&lt;/asp:RegularExpressionValidator&gt;
</code></pre>

<p></p>

<p><strong>JavaScript Code:</strong></p>

<p></p>

<pre><code>&lt;script type="text/javascript" lang="javascript"&gt;

    function CheckHobbies(source, arguments) {
        var Hobbies = document.getElementById('&lt;%= HobbiesList.ClientID %&gt;');
    var HobbiesItems = Hobbies.getElementsByTagName('input');

    arguments.IsValid = false;
    for (var i = 0; i &lt; HobbiesItems.length; i++) {
        if (HobbiesItems[i].checked == true) {
            arguments.IsValid = true;
            return;
        }
    }
    return;

}
&lt;/script&gt;
</code></pre>

<p></p>

<p>Somehow,  it will run, even when it fails to pass the validation.
Why is this happening?</p>

<p>Besides that, the JavaScript function is supposed to check if any button on the <code>CheckboxList</code> is checked, and it doesn't work for some reason.
Why is this?</p>