即使验证失败,代码也会一直运行

时间:2016-12-21 20:23:23

标签: javascript asp.net validation

注册页面(其中一些是希伯来文,不介意名字)

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


<!-- שם משפחה !-->

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

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

<!-- אימייל !-->

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

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


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

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


<!-- אימות סיסמא !-->

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

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

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

<!--  תחביבים   !-->
<asp:CustomValidator ID="CustomValidator1" runat="server" ClientValidationFunction="CheckHobbies"
    ErrorMessage="בחר תחביבים">&nbsp</asp:CustomValidator>

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

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

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

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

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

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

    <!--  כתובת   !-->

<asp:RequiredFieldValidator ID="RequiredFieldValidator10" ControlToValidate="AdressReg" runat="server" ErrorMessage="הכנס כתובת">&nbsp</asp:RequiredFieldValidator>

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

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

JavaScript代码:

<script type="text/javascript" lang="javascript">

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

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

}
</script>

不知何故,它会运行,即使它无法通过验证。 为什么会这样?

除此之外,JavaScript函数应该检查CheckboxList上的任何按钮是否被选中,并且由于某种原因它不起作用。 这是为什么?

1 个答案:

答案 0 :(得分:0)

你的javascript应该明确使用&#34; return true&#34;和&#34;返回false&#34;而不是return关键字。