Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQueryValidate-是否仍然可以使用子组?_Javascript_Jquery_Jquery Validate - Fatal编程技术网

Javascript jQueryValidate-是否仍然可以使用子组?

Javascript jQueryValidate-是否仍然可以使用子组?,javascript,jquery,jquery-validate,Javascript,Jquery,Jquery Validate,我使用jQueryValidate1.11.1和jQuery1.11.0 我有一个表格,它有三对开始/结束日期。对于每一对,我验证是否两个输入都已填写,或者没有一个输入已填写,因为不允许填写开始日期和结束日期,反之亦然;另外,如果没有至少填写一对,我不能发送表格 假设用户只在开始日期中输入日期,而在结束日期中不输入日期。我必须给他看三条错误信息,每对一条。但是如果用户没有输入任何数据,我应该只向他发送一条错误消息 问题是我有四个组,每对一个,整个形式一个,换句话说,前三对是大一对的子群 如果我最

我使用jQueryValidate1.11.1和jQuery1.11.0

我有一个表格,它有三对开始/结束日期。对于每一对,我验证是否两个输入都已填写,或者没有一个输入已填写,因为不允许填写开始日期和结束日期,反之亦然;另外,如果没有至少填写一对,我不能发送表格

假设用户只在开始日期中输入日期,而在结束日期中不输入日期。我必须给他看三条错误信息,每对一条。但是如果用户没有输入任何数据,我应该只向他发送一条错误消息

问题是我有四个组,每对一个,整个形式一个,换句话说,前三对是大一对的子群

如果我最后把较大的组放在代码中,如果用户没有输入数据,我只会收到一条错误消息,但是如果用户只输入开始日期,我只会收到一条错误消息。如果我把较大的组放在开头,当用户输入刚开始的日期时,我会收到三条错误消息,但如果用户发送一个空表单,也会收到三条相等的错误消息

HTML:

<div id="msgErros"></div>
<form>
    <label for="dataInicialSolicitacao">Solicita&ccedil;&atilde;o Inicial</label>
    <input type="text" class="data skipOrFillDatasSolicitacao atLeastOneRequired" id="dataInicialSolicitacao" value="" size="12" name="filtro.dataInicialSolicitacao" maxlength="10" />
    <label for="dataFinalSolicitacao">Solicita&ccedil;&atilde;o Final</label>
    <input type="text" class="data skipOrFillDatasSolicitacao atLeastOneRequired" id="dataFinalSolicitacao" value="" size="12" name="filtro.dataFinalSolicitacao" maxlength="10" />
    <br />
    <label for="dataInicialLiberacao">Libera&ccedil;&atilde;o Inicial</label>
    <input type="text" class="data skipOrFillDatasLiberacao atLeastOneRequired" id="dataInicialLiberacao" value="" size="12" name="filtro.dataInicialLiberacao" maxlength="10" />
    <label for="dataFinalLiberacao">Libera&ccedil;&atilde;o Final</label>
    <input type="text" class="data skipOrFillDatasLiberacao atLeastOneRequired" id="dataFinalLiberacao" value="" size="12" name="filtro.dataFinalLiberacao" maxlength="10" />
    <br />
    <label for="dataInicialInternacao">Interna&ccedil;&atilde;o Inicial</label>
    <input type="text" class="data skipOrFillDatasInternacao atLeastOneRequired" id="dataInicialInternacao" value="" size="12" name="filtro.dataInicialInternacao" maxlength="10" />
    <label for="dataFinalInternacao">Interna&ccedil;&atilde;o Final</label>
    <input type="text" class="data skipOrFillDatasInternacao atLeastOneRequired" id="dataFinalInternacao" value="" size="12" name="filtro.dataFinalInternacao" maxlength="10" />
    <br />
    <button>Consultar</button>
    <button type="reset">Limpar</button>
</form>
$(".data").mask("99/99/9999").datepicker();

$("form").validate({
    rules: {
        "filtro.dataInicialSolicitacao": {
            skip_or_fill_minimum: [2, ".skipOrFillDatasSolicitacao"],
            require_from_group: [2, ".atLeastOneRequired"]
        },
        "filtro.dataFinalSolicitacao": {
            skip_or_fill_minimum: [2, ".skipOrFillDatasSolicitacao"],
            require_from_group: [2, ".atLeastOneRequired"]
        },
        "filtro.dataInicialInternacao": {
            skip_or_fill_minimum: [2, ".skipOrFillDatasInternacao"],
            require_from_group: [2, ".atLeastOneRequired"]
        },
        "filtro.dataFinalInternacao": {
            skip_or_fill_minimum: [2, ".skipOrFillDatasInternacao"],
            require_from_group: [2, ".atLeastOneRequired"]
        },
        "filtro.dataInicialLiberacao": {
            skip_or_fill_minimum: [2, ".skipOrFillDatasLiberacao"],
            require_from_group: [2, ".atLeastOneRequired"]
        },
        "filtro.dataFinalLiberacao": {
            skip_or_fill_minimum: [2, ".skipOrFillDatasLiberacao"],
            require_from_group: [2, ".atLeastOneRequired"]
        }
    },
    groups: {
        datasSolicitacao: "filtro.dataInicialSolicitacao filtro.dataFinalSolicitacao",
        datasLiberacao: "filtro.dataInicialLiberacao filtro.dataFinalLiberacao",
        datasInternacao: "filtro.dataInicialInternacao filtro.dataFinalInternacao",
        todos: "filtro.dataInicialSolicitacao filtro.dataFinalSolicitacao filtro.dataInicialLiberacao filtro.dataFinalLiberacao filtro.dataInicialInternacao filtro.dataFinalInternacao"
    },
    errorContainer: "#msgErros ul",
    errorLabelContainer: "#msgErros",
    wrapper: "li"
});
这是一个与更大的群体在最后。要测试它,只需输入开始日期并按“Consultar”,当我需要三条消息时,您只会收到一条消息。然后按“Limpar”和“Consultar”,您只会收到一条正确的消息

这是第一组的一个变体,开头是较大的组。要测试它,只需输入开始日期并按“Consultar”,您将收到三条消息,每行一条,这是正确的。然后按“Limpar”和“Consultar”,你也会收到三条信息,这是不对的


关于如何在这两种情况下都采取正确的行为,你有什么想法吗?

否决这个问题的人能解释为什么吗?