jQuery Validate插件 - 按名称验证隐藏字段

时间:2012-01-26 16:44:13

标签: javascript jquery jquery-validate

主要问题

我是jQuery validate plugin的新手。我需要验证动态添加和删除的隐藏字段以及共享相同名称的字段。示例标记:

<input type="hidden" name="hdnItemID" value="123" />
<input type="hidden" name="hdnItemID" value="987" />

基本上,我需要知道是否存在名称为hdnItemID的任何元素。如果它们存在,则验证应该成功,否则验证应该失败。

if($("input[name='hdnItemID']").length > 0) {
    //Form is valid
}
else {
    //Form is invalid
}

我看了几个似乎很接近的问题,但它们似乎不符合要求。有什么建议吗?

次要问题

假设我问的是可能的,我如何指定验证消息的显示位置?目前,我在验证失败时按每个必需元素放置一个星号。我想继续这样做,但是通过提交按钮放置隐藏字段的验证消息。

1 个答案:

答案 0 :(得分:4)

使用插件的submitHandler事件检查隐藏字段是否存在。然后,您可以有条件地提交表单。试试这个。

$(function() {
    $('#form1').validate({
       submitHandler: function(form) {
            if($("input[name='hdnItemID']").length > 0) {
                 //Form is valid
                 form.submit();
            }
            else {
                 //Form is invalid
                 alert('form data invalid');
            }
        }
    });
});