Asp.net
ASP.NET Web 窗體中的 jQuery 驗證外掛
我真的很想在我的 ASP.NET Web 窗體應用程序(不是 MVC)中使用 jQuery 驗證外掛。我發現它比到處添加 asp 驗證器並設置控制項來驗證所有這些驗證器更容易。
我只是在設置此類時遇到了一些問題 class=“required email” 我認為這與主表單標籤中的表單標籤有關。
在使用在 asp 控制項中被破壞的名稱呼叫 jquery validate 時,我也遇到了問題
// validate signup form on keyup and submit $("#signupForm").validate({ rules: { username: { required: true, minlength: 2 }, }, messages: { username: { required: "Please enter a username", minlength: "username at least 2 characters" }, }. ....... <p> <label for="username"> Username</label> <input id="username" name="username" /> </p>因為這
<asp:TextBox ID="tbUsername" runat="server"></asp:TextBox>呈現為
<input name="ctl00$ContentPlaceHolder1$tbUsername" type="text" id="ctl00_ContentPlaceHolder1_tbUsername" />並破壞名稱。我可以使用 ClientID 獲取,
<%=tbUsername.ClientID %>但這不適用於 ClientName有沒有人使用帶有 asp.net 的 jquery 驗證器外掛取得任何成功?如果是這樣,那麼使用多個表單就像使用單獨的驗證組一樣呢?
您可以檢查規則添加功能,但基本上這是您可以執行的操作:
jQuery(function() { // You can specify some validation options here but not rules and messages jQuery('form').validate(); // Add a custom class to your name mangled input and add rules like this jQuery('.username').rules('add', { required: true, messages: { required: 'Some custom message for the username required field' } }); }); <input name="ctl00$ContentPlaceHolder1$tbUsername" type="text" id="ctl00_ContentPlaceHolder1_tbUsername" class="username" />這樣就無需擔心 webforms 引擎生成的蹩腳的標識符。