jquery验证器-仅验证可见元素

jquery验证器-仅验证可见元素,jquery,validation,hidden-fields,Jquery,Validation,Hidden Fields,我有一个单选按钮,隐藏/显示一个div。所有可见元素都是“必需的”,但在验证规则后添加ignore::hidden无法工作。。。 代码如下: <script type="text/javascript"> $(document).ready(function(){ $("#myForm").validate({ rules: { name: "required",

我有一个单选按钮,隐藏/显示一个div。所有可见元素都是“必需的”,但在验证规则后添加ignore::hidden无法工作。。。 代码如下:

<script type="text/javascript">

        $(document).ready(function(){
            $("#myForm").validate({
                rules: {
                    name: "required",
                    age: "required",
                    height: "required",
                    ignore: ":hidden"
                }
            })
        });

    </script>
</head>
<body>
    <form id="myForm" name="myForm" method="post" action="" >
        <input type="radio" name="checkAge" value="adult" onclick="$('#minorRequisites').hide();" />Adult<br/>
        <input type="radio" name="checkAge" value="minor" onclick="$('#minorRequisites').show()" checked="checked"/>Child<br/>
        Name <input id="name" name="name" type="text" /><br/>
        <div id="minorRequisites">
            Age <input id="age" name="age" type="text" /><br/>
            Height <input id="height" name="height" type="text" /><br/>
        </div>
        <input type="submit" />
    </form>
</body>

$(文档).ready(函数(){
$(“#myForm”)。验证({
规则:{
名称:“必需”,
年龄:“必需”,
高度:“必需”,
忽略:“:隐藏”
}
})
});
成人
儿童
名称
年龄
高度

如果勾选了“成人”,我希望能够提交只提供姓名的表格。。。有什么想法吗?:)

如果元素不可见,可以在
必需的
规则中指定让它们忽略这些元素:

$("#myForm").validate({
    rules: {
        name: "required",
        age: {
            required: "#age:visible"
        },
        height: {
            required: "#height:visible"
        }
    }
});
您可以在中看到结果

编辑:
忽略
也可以,但这是一个选项,而不是规则,因此您应该编写:

$("#myForm").validate({
    ignore: ":hidden",
    rules: {
        name: "required",
        age: "required",
        height: "required"
    }
});

请尝试
ignore::not(:visible)
而不是
ignore::hidden“

@Caveman,这是因为
ignore
是一个选项,而不是规则。我会更新我的答案。啊!这就像放了一个“;”在“for”的结尾,想知道为什么它不起作用。。。非常感谢!:)