【问题标题】:jQuery Validate field where Name attribute contains square brackets?jQuery验证名称属性包含方括号的字段?
【发布时间】:2017-08-11 18:36:23
【问题描述】:

我正在尝试验证包含名称属性包含方括号 [] 的字段的表单。这是一个要求,我不能将 name 属性更改为其他内容,而且尝试通过 ID 或 ClassName 进行验证似乎很麻烦..

我将如何验证以下示例中的 w?截至目前它不起作用(使我的整个页面由于错误而完全消失。

$("#loginForm").validate({
    rules: {

        login[username]: {
            required: true,
            email: true
        }
    },
    messages: {

        login[username]: {
            required: "Please provide an email",
            email: "Please enter a valid email address"
        }
    }
});

【问题讨论】:

  • 在 javascript 对象中使用 login[username] 是无效的语法。您可以在它周围使用引号并使其有效"login[username]",但我不确定这是否能解决您的问题。
  • 很确定你可以"login[username]" : {
  • 是的,你们是对的,我不确定引用是否正确,但事实上它们是正确的。如果你们中的某个人想将此作为答案,我会接受。

标签: javascript jquery html forms validation


【解决方案1】:

在 javascript 对象中使用 login[username] 是无效的语法。在它周围使用引号使其有效"login[username]"

【讨论】:

    【解决方案2】:

    也许你可以做这样的事情......

    HTML:

    <input type="text" name="login[username]" class="myRule" />
    

    jQuery:

    $(document).ready(function() {
    
        $('.myRule').rules('add', {
            required: true,
            email: true,
            messages: {
                required: "Please provide an email",
                email: "Please enter a valid email address"
            }
        });
    
    });
    

    或者,您不需要添加或使用类,只需使用适当的选择器来定位适当的输入元素。

    $(document).ready(function() {
    
        $('input[name=login\\[username\\]]').rules('add', {
            required: true,
            email: true,
            messages: {
                required: "Please provide an email",
                email: "Please enter a valid email address"
            }
        });
    
    });
    

    http://docs.jquery.com/Plugins/Validation/rules

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-11-26
      • 2013-05-27
      • 1970-01-01
      • 1970-01-01
      • 2012-03-21
      相关资源
      最近更新 更多