jQuery验证字段,其中Name属性包含方括号?

时间:2012-02-13 17:52:59

标签: javascript jquery html forms validation

我正在尝试验证包含名称属性包含方括号[]的字段的表单。这是一个要求,我不能将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"
        }
    }
});

2 个答案:

答案 0 :(得分:7)

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

答案 1 :(得分:4)

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

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