jQuery验证名称属性包含方括号的字段?

Posted

技术标签:

【中文标题】jQuery验证名称属性包含方括号的字段?【英文标题】:jQuery Validate field where Name attribute contains square brackets? 【发布时间】: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]" : 是的,你们是对的,我不确定引用是否正确,但事实上它们是正确的。如果你们中的某个人想将此作为答案,我会接受。 【参考方案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

【讨论】:

以上是关于jQuery验证名称属性包含方括号的字段?的主要内容,如果未能解决你的问题,请参考以下文章