asp.net - ASP.NET Web 表单中的 jQuery 验证插件

标签 asp.net jquery validation webforms jquery-validate

我真的很想在我的 ASP.NET Web 表单应用程序(而不是 MVC)中使用 jQuery 验证插件。我发现这比到处添加 asp 验证器并设置控件来验证所有验证器的字段更容易。

我只是在设置像 class="required email"这样的类时遇到一些问题,我认为这与主表单标签中的表单标签有关。

当使用在 asp 控件中被破坏的名称调用 jquery 验证时,我也遇到了问题

// 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" />

并破坏了名字。我可以使用 <%=tbUsername.ClientID %> 获取 ClientID但这不适用于 ClientName

有人在 ASP.NET 中使用 jquery 验证器插件取得过成功吗? 如果是这样,那么使用多个表单(就像使用单独的验证组一样)怎么样?

最佳答案

您可以查看rules add function ,但基本上您可以执行以下操作:

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" />

这样就无需担心网络表单引擎生成的蹩脚标识符。

关于asp.net - ASP.NET Web 表单中的 jQuery 验证插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/619816/

相关文章:

asp.net - IronRuby 死了吗?

javascript - 物化日期选择器不工作

jquery - slider 透明.png图像背景修复

html - 移动到 site.css 时未应用样式

c# - ASP.NET 自动注销

c# - 与母版页一起使用时,Google map 为空白

javascript - 如何在ajax请求后重新加载所有javascript?

用于序列号验证的正则表达式

validation - 使用估算器时,将验证监视器替换为 tf.train.SessionRunHook

java - IPV6验证问题