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