0

aspx コンテンツ ページがあり、これはマスター ページによって継承されます。

マスターページでは、メインコンテンツのプレースホルダーは , の下に<form>あります

<form runat="server">
<div class="page">

    <div class="main">
        <asp:ContentPlaceHolder ID="MainContent" runat="server"/>
    </div>
    <div class="clear">
    </div>
</div>
<div class="footer">

</div>
</form>

以下は私のコンテンツページのコードです:

<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<table border="0" cellpadding="3" cellspacing="3">
    <tr>
        <td colspan="2" class="header" style="color: Black;">
            LOGIN USER
        </td>
    </tr>
    <tr>
        <td align="right">
            <asp:Label ID="lblUserName" runat="server" Text="UserName: "></asp:Label>
        </td>
        <td align="left">
            <asp:TextBox ID="txtUserName" runat="server"></asp:TextBox>
        </td>
    </tr>
    <tr>
        <td align="right">
            <asp:Label ID="lblPassword" runat="server" Text="Password: "></asp:Label>
        </td>
        <td align="left">
            <asp:TextBox ID="txtPassword" runat="server" TextMode="Password"></asp:TextBox>
        </td>
    </tr>
    <tr>
        <td align="center" colspan="2">
            <asp:Button ID="btnSubmit" runat="server" Text="Submit" />&nbsp;
            <asp:Button ID="btnReset" runat="server" Text="Reset" />
        </td>
    </tr>
</table>
<div align="center" class="alertmsg">
</div>

jQuery検証プラグインを使用する間:

<script type="text/javascript" language="javascript">
    $(document).ready(function () {
            $('#ctl01').validate({
            rules: {
                    <%=txtUserName.UniqueID %>: {
                        minlength: 2,
                        required: true
                    },
                     <%=txtPassword.UniqueID %>: {                        
                        required: true,
                        email:true
                    }
                },
            messages: {
                    <%=txtUserName.UniqueID %>:{  
                        required: "* Required Field *",  
                        minlength: "* Please enter atleast 2 characters *"  
                    },
                    <%=txtPassword.UniqueID %>:{  
                        required: "* Required Field *",  
                        email: "* Please enter valid email address *"  
                    }       
                }

        });
});

</script>

の動的 ID はtxtUserNameによって公開されます<%=txtUserName.UniqueID %>が、フォームの ID を に与える必要があるのはなぜ$('#ctl01').validateですか? の代わりに他の ID を使用できます#ctl01か?

4

2 に答える 2

0

.validate()サーバーに送信される前に適切な値を確認するために検証を行うため、つまり、ユーザーがフォームを送信し、フォームのみを送信でき、間違った値が送信され始めるのを防ぐことができるのはフォームのみであるためです。。

より明確にするために:

明確な説明については、 http://docs.jquery.com/Plugins/Validation/validateを参照してください。

Control.UniqueID 動作しない場合は使用できますControl.ClientID...

于 2012-04-24T07:10:49.350 に答える
0

$('<%=Form.UniqueID %>').validate({使用できます:との違いに注意してください$('<%=Form.UniqueID %>').validate({

<script type="text/javascript" language="javascript">
    $(document).ready(function () {
            $('#<%=Form.UniqueID %>').validate({
            rules: {
                    <%=txtUserName.UniqueID %>: {
                        minlength: 2,
                        required: true
                    },
                     <%=txtPassword.UniqueID %>: {                        
                        required: true,
                        email:true
                    }
                },
            messages: {
                    <%=txtUserName.UniqueID %>:{  
                        required: "* Required Field *",  
                        minlength: "* Please enter atleast 2 characters *"  
                    },
                    <%=txtPassword.UniqueID %>:{  
                        required: "* Required Field *",  
                        email: "* Please enter valid email address *"  
                    }       
                }

        });
});

</script>
于 2012-04-24T06:58:00.647 に答える