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验证名称属性包含方括号的字段?的主要内容,如果未能解决你的问题,请参考以下文章

名称属性中带有方括号的输入的 jQuery 选择器

arcgis属性表文本字段名称用啥括号

asp.net 使用正则表达式验证包含打开/关闭括号片段的属性字符串

Laravel, jQuery - 在 Laravel 中验证后返回括号表示法(jQuery 中的点到括号表示法)

如何创建指向字段名称中带有句点的 SQL Server 视图的 Jet ODBC 链接?

在命名空间模块中调用使用方括号(计算机属性名称)定义的 Vuex 操作